如何访问我的ResourceDictionary?

时间:2009-12-08 19:09:12

标签: wpf resourcedictionary

我的项目中有一个名为 CustomStyles.xaml 的ResourceDictionary。它位于名为RD的子目录中,因此其位置为 RD / CustomStyles.xaml

我的问题如下:我有一个名为 CustomGroupBox.vb 仅限类文件,而在New()中,我想访问来自的ResourceDictionary。

我怎么能这样做,因为我没有CustomGroupBox.vb的相应XAML?

P.S。我想要注意的是CustomStyles.xaml的 BuildAction 资源而不是内容,因此它与项目一起编译,它不输出到构建目录(\ bin)。因此以下不起作用......

Me.Resources.Source = New Uri("RD\CustomStyles.xaml")

2 个答案:

答案 0 :(得分:1)

似乎您需要使用Application.Current.Resources来查找资源,假设资源字典是在应用程序级别定义的。例如:

YourControl.Style = CType(Application.Current.Resources("OneOfYourStyles"), Style)

编辑:对于程序集中的资源而不是应用程序,您可以使用包URI语法(link)来访问资源。它可能看起来像这样:

Dim u as Uri = New Uri("/" + Me.GetType().Assembly.GetName().Name + ";RD/CustomStyles.xaml"

答案 1 :(得分:0)

您可以从程序集中提取资源。

blog帖子会告诉你如何。