我试图在后面的代码中创建的控件中设置对样式的引用。通常在 WPF 中,我会使用 SetResourceReference 方法。但是,我看到 Metro 的 Button 属性上似乎不存在此方法。
Metro 应用程序中的等价物是什么?
我试图在后面的代码中创建的控件中设置对样式的引用。通常在 WPF 中,我会使用 SetResourceReference 方法。但是,我看到 Metro 的 Button 属性上似乎不存在此方法。
Metro 应用程序中的等价物是什么?
我最终使用了此处显示的 TryFindResource 的自定义实现。使用不同答案中建议的 this.Resources 属性的问题是它不会在整个资源树中搜索可能在 App 资源中的资源。我提供的链接中的实现就是这样做的。它基于 Silverlight 中常见的具有相同问题的东西。
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;