我有资源字典文件(MenuTemplate.xaml,ButtonTemplate.xaml等),我想在多个单独的应用程序中使用.我可以将它们添加到应用程序的程序集中,但如果我在一个程序集中编译这些资源并让我的应用程序引用它,那就更好了吧?
构建资源程序集后,如何在我的应用程序的App.xaml中引用它?目前,我使用ResourceDictionary.MergedDictionaries来合并各个字典文件.如果我在一个程序集中有它们,我怎么能在xaml中引用它们?
查看包URI语法.你想要这样的东西:
一个例子,只是让这个15秒的答案 -
假设您在名为"common"的WPF库中有"styles.xaml",并且您希望在主应用程序项目中使用它:
将主项目的引用添加到"common"项目
你的app.xaml应该包含:
干杯
我正在使用.NET 4.5并且无法正常工作...我正在使用WPF自定义控件库.这最终对我有用......
来源: http ://social.msdn.microsoft.com/Forums/en-US/wpf/thread/11a42336-8d87-4656-91a3-275413d3cc19
Resource-Only DLL是您的选择.但除非您想在不重新编译应用程序的情况下修改资源,否则不一定要这样做.只有一个常见的ResourceDictionary文件也是一个选项.这取决于你改变资源等的频率.
MyAssembly - 只是没有扩展名的程序集名称
FolderStructureInAsmbly - 如果您的资源位于folde中,请指定文件夹结构
当你这样做时,最好还要注意siteOfOrigin.
WPF支持两个权限:application:///和siteoforigin:///.application:/// authority识别编译时已知的应用程序数据文件,包括资源和内容文件.siteoforigin:/// authority标识原始站点文件.每个权限的范围如下图所示.
对于UWP: