WPF中跨项目调用窗体导致资源丢失,求解决
发布网友
发布时间:2022-05-10 15:04
我来回答
共2个回答
热心网友
时间:2023-04-29 13:59
的确,正如楼主所说,被引用的项目的app实效了。因为一个解决方案只允许有一个app,即控制全局样式的东东。你把chat的app里的样式都提取出来,放到一个ResourceDictionary里面。然后在主项目中引用(或者说合并)这个ResourceDictionary就行了。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source= "/程序集A;Component/MYDictionary.xaml "/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
或直接引用
<Application.Resources>
<ResourceDictionary Source= "/程序集A;Component/MYDictionary.xaml "/>
</Application.Resources>追问OK,这个问题经过您的指点已经解决了,但是还有一个问题,现在我的资源字典已经处理完毕了,也就是说我的样式全部都是正确的,但是会提示一个新的异常“System.Windows.Baml2006.TypeConverterMarkupExtension”,错误跟踪说无法找到图片文件,如“找不到资源“images/only.png”,同样是单独运行的时候是正常的,一旦实例化窗体就会出错,我猜想可能是各项目间调用的包的名称不同导致的,请问是否有解决的方法?谢谢您的指教!
追答图片等资源的路径与资源字典的路径格式一致就行。
我尝试了下应该是行的。
热心网友
时间:2023-04-29 13:59
碰到类似为题, 使用DynamicResource替换Static...解决的