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

5
我在应用程序项目(.exe)中有一个WPF自定义控件MyControl.cs,它的样式在资源字典MyControlResources.xaml中。这个xaml在app.xaml中指定为合并字典的一部分。一切都运行良好。
现在我想把这个自定义控件移动到应用程序引用的现有DLL项目中。有没有办法创建 DLL 中的资源字典 "赋值" 并使其对调用者透明,即应用程序可以像使用任何内置控件一样使用它,而不需要知道资源字典的任何信息?
我已经阅读了关于创建新的自定义控件项目来解决问题的内容,但这仅适用于我不想为其创建新项目的一个控件。有人知道如何在现有类库DLL中实现吗?
1个回答

2

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

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

  2. Assembly.cs中添加以下属性:

    [assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接