2012-10-17 18 views
5

我的应用程序项目(.exe)中有一个WPF自定义控件MyControl.cs,其样式在资源字典MyControlResources.xaml中。这个xaml作为合并字典的一部分在app.xaml中指定。一切正常。如何为DLL中的自定义控件分配资源字典

现在我想将此自定义控件移动到应用程序引用的现有DLL项目中。有没有一种方法可以在DLL中创建资源字典“赋值”,并使其对调用者透明,即应用程序项目可以像使用任何内置控件一样使用它,而不需要您了解有关资源字典的任何内容?

我已阅读关于创建一个新的自定义控件项目可以做的伎俩,但它只是一个控件,我不想创建一个新的项目。任何人都知道如何在现有的类库DLL中做到这一点?

回答

2

This answer帮我找到了诀窍。

  1. 创建一个名为Themes\Generic.xaml的文件来合并资源字典。

  2. 添加以下的属性到Assembly.cs

    [组件:ThemeInfo(ResourceDictionaryLocation.None,ResourceDictionaryLocation.SourceAssembly)]

相关问题