WPF リソースが別のプロジェクトで定義されている場合、Visual Studio デザイナー エラーを回避するにはどうすればよいですか?
複合 WPF アプリケーションには、メイン アプリケーション、「インフラストラクチャ」ライブラリ、および「モジュール」ライブラリの 3 つのプロジェクトがあります。メイン アプリケーションは、出力 DLL を介して他のプロジェクトを参照します (プロジェクトは 1 つのソリューションに一緒に配置されません)。
ResourceDictionary
「インフラストラクチャ」ライブラリでスキン (のいくつかのブラシとスタイル) を定義しています。メイン アプリケーションでスキンを選択し、アプリケーション全体MergedDictionaries
で (App.xaml を介して) 使用できるようにしたいと考えています。
私のモジュールでは、メイン アプリケーションがロードするスキンで定義されたリソースを使用したいと考えています。次のようにローカルで利用可能であるかのようにリソースを参照すると、次のようになります。
Background={StaticResource MainBackgroundBrush}
ほとんどすべてが希望どおりに機能します。例外は、Visual Studio のデザイナーが混乱し、「StaticResource 参照 'MainBackgroundBrush' が見つかりませんでした」と通知することです。これにより、デザイナーを使用できなくなります。
ResourceDictionary
プロジェクトで「スキン」を定義し、メイン アプリケーションでそのスキンを参照し、モジュール プロジェクトでそのリソースを使用するにはどうすればよいですか?