1

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

我的问题如下:我有一个名为CustomGroupBox.vb的纯类文件,并且在 New() 中,我想从 ResourceDictionary 访问资源。

由于我没有针对 CustomGroupBox.vb 的相应 XAML,我该怎么做?

PS我想指出 CustomStyles.xaml 有一个BuildActionResource而不是Content,因此它与项目一起编译,它不会输出到构建目录 (\bin)。因此,以下行不通...

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

2 回答 2

1

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

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

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

Dim u as Uri = New Uri("/" + Me.GetType().Assembly.GetName().Name + ";RD/CustomStyles.xaml"
于 2009-12-08T19:23:57.023 回答
0

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

这篇文将向您展示如何操作。

于 2009-12-08T19:22:38.100 回答