我有一个包含多个用户控件的程序集.对于此用户控件程序集,我想要一个资源字典.程序集中的所有用户控件都应该能够访问资源字典.我必须添加吗?
...
应该使用资源字典的每个用户控件,还是有某种方法将它放在一个地方并只是引用它?
我可以在我的主应用程序中引用它,还是需要MergedDictionaries调用呢?
编辑:主应用程序位于单独的项目/程序集中,而不是用户控件.
有什么办法把它放在一个地方,只是引用它?
将您的合并词典引用到您的"App.xaml"文件中,并将其整个应用程序访问,您将无需进一步参考.
我可以在我的主应用程序中引用它,还是需要MergedDictionaries调用呢?
没有'App.xaml'的范围落在整个应用程序上,所以这应该工作正常(对我来说:)).
更新:如何从用户控件引用资源字典存储的项目.
在主项目中添加对用户控件库的引用.您的用户控件可以访问,您可以根据需要在您的应用程序中使用它们.
在App.xaml中添加资源字典引用的过程意味着所有控件都可以引用资源字典中定义的样式和数据模板等,因此它仅仅是引用它们的问题:
例如
此方法适用于复合应用程序和常规WPF应用程序.请注意,Visual Studio不擅长从Linked XAML文件(资源字典)加载这些样式,但表达式混合处理它并将给编辑器预览.