在单独的项目中定义WPF资源时,如何避免Visual Studio设计器错误?
我在复合WPF应用程序中有三个项目:主应用程序、“基础结构”库和“模块”库。主应用程序通过其输出DLL引用其他项目(这些项目不在同一个解决方案中)。
我正在定义一个皮肤(在
ResourceDictionary
)在“基础设施”库中。我希望主应用程序选择一个皮肤并使其可用于整个应用程序(通过
MergedDictionaries
在App.xAML中。
在我的模块中,我希望使用在主要应用程序加载的外观中定义的资源。如果我像这样引用本地可用的资源:
Background={StaticResource MainBackgroundBrush}
几乎每件事都能按要求工作。例外情况是,Visual Studio的设计器会感到困惑,并告诉我“找不到StaticResource引用”MainBackgroundBrush“。这有效地阻止了我使用设计师。
如何定义“皮肤”
字典资源
在项目中,在主应用程序中引用该皮肤,然后在模块项目中使用其资源?