如何查找属于主窗口的资源

时间:2012-01-01 02:21:30

标签: wpf templates xaml coding-style resources

我的主窗口xaml文件中有一个样式资源。我正在创建一个单独的类,我正在尝试设置这样的样式:

Style = (Style)Application.Current.MainWindow.FindResource("DesignerItemStyle");

但它找不到它,我不确定我做错了什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果指的是实例化类的样式,则应将其放在函数中以使其工作。我假设你正在尝试将样式应用于当前的UI元素,即

Style = (Style)Application.Current.MainWindow.FindResource("DesignerItemStyle");

this.Style = (Style)Application.Current.MainWindow.FindResource("DesignerItemStyle");

在任何其他地方,它会引发错误,因为它会引用通用样式类本身&不是班级的一个实例。尝试将其移动到类构造函数中。例如。


通常,当在多个类上使用样式时,您可能宁愿将其转换为应用程序资源。 (使用App.xaml)&访问它,如下例所示:

Style myStyle = (Style)Application.Current.Resources["myStyleName"];

contructor() {

     this.Style = mystyle;

     }