我想在WP7中使用全局样式,例如:
<Style TargetType="Button">
//some code here
</Style>
问题是这段代码在WP7中似乎不起作用。
我知道如何在样式中添加x:Key,然后如何将其作为StaticResource引用,但这不是我的情况。我想要一个全球风格。
答案 0 :(得分: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 :(得分:2)
如果我理解正确,你想在WP7中使用隐式样式。
如果是这样,请记住:隐式样式是Silverlight 4(和WPF)的一项功能:Windows Phone 7基于Silverlight 3+(添加了一些Silverlight 4功能)。 由于Silverlight 3中没有隐式样式,这意味着在Windows Phone 7中也无法使用它们。
所以,如果你想在WP7中实现某种全局样式,我建议你尝试使用StaticResource的方法 Matt Lacey 建议。
答案 2 :(得分:1)
在WP7 Mango中,它支持隐式样式功能。在芒果ME升级silverlight 3到silverlight 4.所以它完美的工作
试试此链接:http://www.windowsphonegeek.com/articles/Windows-Phone-7-Mango-Implicit-Styles
答案 3 :(得分:0)
如果您希望所有按钮都使用相同的样式,则必须创建一个实现样式的基本按钮类,然后从该按钮继承所有按钮。
您可以使用用户控件或自定义控件执行此操作。用户控件可能更容易。