Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何查找作为主窗口一部分的资源_Wpf_Templates_Xaml_Coding Style_Resources - Fatal编程技术网

Wpf 如何查找作为主窗口一部分的资源

Wpf 如何查找作为主窗口一部分的资源,wpf,templates,xaml,coding-style,resources,Wpf,Templates,Xaml,Coding Style,Resources,我的主窗口xaml文件中有一个样式资源。我正在创建一个单独的类,并尝试设置如下样式: Style = (Style)Application.Current.MainWindow.FindResource("DesignerItemStyle"); 但它没有找到它,我不确定我做错了什么?任何帮助都将不胜感激。如果您引用的是实例化类的样式,则应将其放入函数中,以使其正常工作。我假设您正在尝试将样式应用于当前UI元素,即 Style = (Style)Application.Current.Main

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

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

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

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

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

在任何其他地方,它都会抛出一个错误,因为它会引用泛型样式类本身&而不是该类的实例。例如,尝试将其移动到类构造函数中


通常,当一个样式用于多个类时,您可能更愿意将其转换为应用程序资源。 (使用App.xaml)并按以下示例访问它:

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

contructor() {

     this.Style = mystyle;

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

contructor() {

     this.Style = mystyle;

     }