由于我的解决方案的性质(在运行时加载模块),我在插入的模块中定义的所有资源都会遇到“资源无法解析”的错误。该应用程序可以正常工作,但XAML中的许多错误消息和调试窗口中的错误错误都是有问题的。
我可以手动添加为每个UserControl定义资源的字典,但这不太理想。通常,字典会添加到app.xaml中,但我的插件没有app.xaml。
有没有办法抑制这些警告?
答案 0 :(得分:0)
由于您提到调试窗口,所以我假设您是在谈论错误而不是警告。有部分解决方法:使用DynamicResource
代替StaticResource
将使这些样式在“错误列表”窗口中显示为警告而不是错误。但是,xaml源代码仍会带有下划线。猜一个不好的解决方案总比没有解决方案好。
答案 1 :(得分:0)
签出Trick To Use A ResourceDictionary Only When In Design Mode
理想的体系结构是创建一个包含您的资源字典的中间基础结构库。然后,主应用程序将引用此基础结构库将样式加载到app.xaml中。您的“项目B”(类库/插件/模块)可以使用DesignTimeResourceDictionary来避免在设计时出现任何错误/警告。在运行时,将根据应用程序获取资源,并将跳过DesignTimeResourceDictionary。
也请查看以下答案:Avoiding Visual Studio designer errors when WPF resource is defined in separate project