2011-03-21 76 views
8

我想使用WP7全球風格,一樣的東西:如何在Windows Phone 7中使用全局樣式?

<Style TargetType="Button"> 
//some code here 
</Style> 

的問題是,這段代碼似乎並沒有在WP7工作。

我知道如何將x:Key添加到Style中,然後如何將它作爲StaticResource引用,但這不是我的情況。我想要一個全球風格。

回答

2

如果我正確理解你,你想在WP7中使用隱式。

如果是這樣,請記住:隱式樣式是Silverlight 4(和WPF)的一項功能:Windows Phone 7基於Silverlight 3+(增加了一些Silverlight 4功能)。 由於在Silverlight 3中沒有隱式樣式,這意味着在Windows Phone 7中也無法使用它們。所以,如果你想在WP7中實現某種全局風格,我建議你嘗試使用StaticResource的方法,因爲Matt Lacey建議。

8

如果我創建一個應用廣泛的(全球)喜歡這種風格:

<Application.Resources> 
    <Style x:Key="MyTextNormalStyle" TargetType="TextBlock"> 
     <Setter Property="Foreground" Value="White" /> 
     <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeNormal}" /> 
     <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}" /> 
    </Style> 
</Application.Resources> 

然後我可以引用它是這樣的:

<TextBlock Text="some text" Style="{StaticResource MyTextNormalStyle}" /> 
+1

我解釋搖搖欲墜我知道如何與靜態資源做到這一點,但我需要一個全球性的風格讓我所有的按鈕我們使用相同的風格,而不需要設置任何StaticResource。 – 2011-03-21 18:29:56

+0

您是否需要在電話頁面上進行數據綁定才能正常工作? – 2012-04-15 23:27:02

0

如果你希望所有的按鈕使用相同的樣式,你將不得不創建一個實現樣式的基類按鈕類,然後從中繼承所有的按鈕。

您可以使用用戶控件或自定義控件執行此操作。用戶控件可能更容易。