如何在Windows Phone 7中使用全局样式?

时间:2011-03-21 16:49:20

标签: windows-phone-7 windows-phone

我想在WP7中使用全局样式,例如:

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

问题是这段代码在WP7中似乎不起作用。

我知道如何在样式中添加x:Key,然后如何将其作为StaticResource引用,但这不是我的情况。我想要一个全球风格。

4 个答案:

答案 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)

如果您希望所有按钮都使用相同的样式,则必须创建一个实现样式的基本按钮类,然后从该按钮继承所有按钮。

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