我有一个项目CommonStyles.exe具有不同的样式。我的应用程序引用了CommonStyles.exe。样式在App.xaml中声明(通过ResourceDictionary.MergedDictionaries
)。
我使用StaticResource
在我的应用程序中使用CommonStyles.exe中的样式。
应用程序在运行时完美运行,但在设计模式下,我收到此错误(Visual Studio 2010):
“在'System.Windows.Markup.StaticResourceHolder'上提供价值引发了异常。”
如果我使用我的应用程序在解决方案中包含包含CommonStyles.exe的项目,则可以解决此问题。
问题解决方案Avoiding Visual Studio designer errors when WPF resource is defined in separate project
是使用DynamicResource
而不是StaticResource
。但在此解决方案中,Visual Studio在设计模式下显示没有样式的控件。我需要在设计模式下应用样式。
所以Visual Studio在设计模式下找不到一些样式,但在运行时可以。
我尝试实现此解决方案https://stackoverflow.com/a/1111473/5152001 但在设计模式下,我得到一些控件的错误:
找不到资源“SomeStyleBase”
此控件使用CommonStyles.exe中的“SomeStyle”样式。样式“SomeStyle”继承自CommonStyles.exe的样式“SomeStyleBase”。此样式位于不同的文件中。 如果我在一个文件中合并此样式,则可以解决此问题。但是这个解决方案并不适合我。
所以我必须在我的应用程序中包含包含CommonStyles.exe的项目,直到找到更好的解决方案。