1

我试图在后面的代码中创建的控件中设置对样式的引用。通常在 WPF 中,我会使用 SetResourceReference 方法。但是,我看到 Metro 的 Button 属性上似乎不存在此方法。

Metro 应用程序中的等价物是什么?

4

2 回答 2

1

我最终使用了此处显示的 TryFindResource 的自定义实现。使用不同答案中建议的 this.Resources 属性的问题是它不会在整个资源树中搜索可能在 App 资源中的资源。我提供的链接中的实现就是这样做的。它基于 Silverlight 中常见的具有相同问题的东西。

于 2012-05-23T20:55:31.947 回答
1

WinRT 和 Silverlight 一样,没有这种技术(它缺少“DynamicResource”标记扩展和随之而来的支持)。

您可以尝试以下方法之一:

例如,要设置样式,您可以执行以下操作。

使用资源

<Page.Resources>
    <Style TargetType="Button" x:Key="boldButton">
        <Setter Property="FontWeight" Value="Bold" />
    </Style>               
</Page.Resources>

和一个按钮:

<Button Name="btn" Content="Button" />

在后面的代码中:

btn.Style = this.Resources["boldButton"] as Style;
于 2012-05-15T16:26:40.227 回答