【发布时间】:2011-03-21 16:49:20
【问题描述】:
我想在 WP7 中使用全局样式,例如:
<Style TargetType="Button">
//some code here
</Style>
问题是这段代码似乎在 WP7 中不起作用。
我知道如何将 x:Key 添加到样式中,然后如何将其作为静态资源引用,但这不是我的情况。我想要一个全局样式。
【问题讨论】:
标签: windows-phone-7 windows-phone
我想在 WP7 中使用全局样式,例如:
<Style TargetType="Button">
//some code here
</Style>
问题是这段代码似乎在 WP7 中不起作用。
我知道如何将 x:Key 添加到样式中,然后如何将其作为静态资源引用,但这不是我的情况。我想要一个全局样式。
【问题讨论】:
标签: windows-phone-7 windows-phone
如果我创建这样的应用程序范围(全局)样式:
<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}" />
【讨论】:
如果我理解正确,您想在 WP7 中使用隐式样式。
如果是这样,请记住:隐式样式是 Silverlight 4(和 WPF)的一个功能:Windows Phone 7 基于 Silverlight 3+(添加了一些 Silverlight 4 功能)。 由于 Silverlight 3 中没有隐式样式,这意味着在 Windows Phone 7 中也无法使用它们。
因此,如果您想在 WP7 中实现某种全局样式,我建议您尝试使用 Matt Lacey 建议的 StaticResource 方法。
【讨论】:
在 WP7 Mango 中,它支持隐式样式功能。在芒果 MS 中将 silvelight 3 升级为 silverlight 4。所以它完美运行
试试这个链接:http://www.windowsphonegeek.com/articles/Windows-Phone-7-Mango-Implicit-Styles
【讨论】:
如果您希望所有按钮使用相同的样式,则必须创建一个实现该样式的基按钮类,然后从该类继承您的所有按钮。
您可以使用用户控件或自定义控件来执行此操作。用户控件可能更容易。
【讨论】: