C# 如何访问代码隐藏文件(xaml.cs)之外的样式?

C# 如何访问代码隐藏文件(xaml.cs)之外的样式?,c#,wpf,xaml,C#,Wpf,Xaml,在代码隐藏(filename.xaml.csfile)中,我可以像这样成功地访问静态资源: TextBlock elm = new TextBlock(); elm.Style = (Style)this.Resources["myStyle"]; 其中style.xaml添加到filename.xaml中,如下所示: <Page.Resources> <ResourceDictionary Source="resources/Styles.xaml" /> &

在代码隐藏(
filename.xaml.cs
file)中,我可以像这样成功地访问静态资源:

TextBlock elm = new TextBlock();
elm.Style = (Style)this.Resources["myStyle"];
其中
style.xaml
添加到
filename.xaml
中,如下所示:

<Page.Resources>
    <ResourceDictionary Source="resources/Styles.xaml" />
</Page.Resources>

但是,
this.Resources[“myStyle”]
在与任何
.xaml
文件不关联的
.cs
文件中不起作用。在这种情况下如何访问Style.xaml?

您应该使用

使用
作为
框架元素

elm.Style = (Style)this.FindResource("myStyle");
或在:


“this.FindResource()”也不起作用。它在codebehind中起作用(其中,
this.Resources[]
也起作用),但我想将它用作一个与任何.xaml文件都不关联的.cs文件。@格林:在应用程序上如何?你的意思是,将
添加到App.xaml中吗?注:我更新了问题以进行澄清。但是,
this.FindResource()
无法从当前上下文中访问。否,请调用
Application.FindResource
。但是,资源应该在应用程序范围内可用。从MSDN:
application.Current.FindResource(“UnfindableResource”)
elm.Style = (Style)Application.Current.FindResource("myStyle");