【问题标题】:How to use a global Style in Windows Phone 7?如何在 Windows Phone 7 中使用全局样式?
【发布时间】:2011-03-21 16:49:20
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: windows-phone-7 windows-phone


    【解决方案1】:

    如果我创建这样的应用程序范围(全局)样式:

    <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}" />
    

    【讨论】:

    • 正如我不稳定地解释的那样,我知道如何使用 StaticResource 来做到这一点,但我需要一个全局样式,以便我的所有按钮都使用相同的样式,而无需设置任何 StaticResource。
    • 是否需要在手机页面上进行数据绑定才能使用?
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      在 WP7 Mango 中,它支持隐式样式功能。在芒果 MS 中将 silvelight 3 升级为 silverlight 4。所以它完美运行

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2011-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多