如何避免在WPF资源在单独项目中定义时,出现Visual Studio设计器错误?
我有一个复合的WPF应用程序,包含三个项目:主应用程序、一个“基础设施”库和一个“模块”库。主应用程序通过它们的输出DLL引用其他项目(这些项目不在同一个解决方案中)。
我正在“基础设施”库中定义一个皮肤(一些刷子和样式在ResourceDictionary
中),我希望主应用程序选择一个皮肤,并使其对整个应用程序可用(通过App.xaml中的MergedDictionaries
)。
在我的模块中,我想使用主应用程序加载的皮肤中定义的资源。如果我像本地可用资源一样引用资源,例如:
Background={StaticResource MainBackgroundBrush}
几乎所有的东西都按照预期工作。唯一的例外是Visual Studio的设计器会被搞混并告诉我“找不到'StaticResource引用'MainBackgroundBrush'”,这有效地阻止了我使用设计器。
我该怎么做才能在项目中定义一个“皮肤”ResourceDictionary
,引用该皮肤到主应用程序中,然后在模块项目中使用其资源?