2012-01-01 40 views
0

我的主窗口xaml文件中有一个样式资源。我创建一个单独的类,我想设置这样的风格:如何查找属于主窗口的资源

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

但没有找到它,我不知道我做错了吗?任何帮助,将不胜感激。

回答

0

如果指的是实例化的类的风格,你应该把它放在一个函数里面来工作。我想,你正在尝试应用样式到当前UI元素,即

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

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

在其他任何地方,它会抛出一个错误,因为它会参考通用风格类本身&不是类的一个实例。例如尝试将它移到类构造函数中。


通常,当一个样式用于多个类时,您可以将其转换为应用程序Resource。 (使用App.xaml)&访问它,如下例所示:

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

contructor() { 

    this.Style = mystyle; 

    }