8

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

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

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

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

4

4 回答 4

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}" />
于 2011-03-21T17:58:34.683 回答
2

如果我理解正确,您想在 WP7 中使用隐式样式。

如果是这样,请记住:隐式样式是 Silverlight 4(和 WPF)的一项功能:Windows Phone 7 基于 Silverlight 3+(添加了一些 Silverlight 4 功能)。由于 Silverlight 3 中没有隐式样式 ,这意味着在 Windows Phone 7 中也无法使用它们。

因此,如果您想在 WP7 中实现某种全局样式,我建议您按照Matt Lacey的建议尝试使用 StaticResource 的方法。

于 2011-03-21T19:55:57.790 回答
1

在 WP7 Mango 中,它支持隐式样式功能。在芒果 MS 升级 silvelight 3 到 silverlight 4。所以它完美地工作

试试这个链接: http: //www.windowsphonegeek.com/articles/Windows-Phone-7-Mango-Implicit-Styles

于 2011-10-07T05:46:32.413 回答
0

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

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

于 2011-03-21T19:30:01.360 回答