我的应用程序项目(.exe)中有一个WPF自定义控件MyControl.cs
,其样式位于MyControlResources.xaml
的资源字典中。此xaml在app.xaml
中指定为合并字典的一部分。一切正常。
现在我想将此自定义控件移动到应用程序引用的现有DLL项目中。有没有办法可以在DLL中创建资源字典“赋值”并使其对调用者透明,即应用程序项目可以像使用任何内置控件一样使用它,而不需要您了解有关资源字典的任何信息?
我读过关于创建一个新的自定义控件项目可以做到这一点,但它只是一个我不想为其创建新项目的控件。任何人都知道如何在现有的类库DLL中做到这一点?
答案 0 :(得分:2)
This answer帮我找到了诀窍。
创建一个名为Themes\Generic.xaml
的文件以合并资源字典。
将以下属性添加到Assembly.cs
[assembly:ThemeInfo(ResourceDictionaryLocation.None,ResourceDictionaryLocation.SourceAssembly)]