2011-03-21 72 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

如果你希望所有的按钮使用相同的样式,你将不得不创建一个实现样式的基类按钮类,然后从中继承所有的按钮。

您可以使用用户控件或自定义控件执行此操作。用户控件可能更容易。