如何为dll中的自定义控件分配资源字典

NS.*_*.X. 5 wpf custom-controls resourcedictionary

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

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

我读过关于创建一个新的自定义控件项目可以做到这一点,但它只是一个我不想为其创建新项目的控件.任何人都知道如何在现有的类库DLL中执行此操作?

NS.*_*.X. 2

这个答案帮助我找到了窍门。

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

  2. 添加以下属性Assembly.cs

    [程序集:ThemeInfo(ResourceDictionaryLocation.None,ResourceDictionaryLocation.SourceAssembly)]