私はこれについてしばらく読んでいますが、私を助けることができる答えを見つけることができないようです.
私のプロジェクトには、コントロールのスタイルがたくさん含まれているライブラリがあります。これらのスタイルは、リソースを静的リソースとして使用します。したがって、「リソース ツリー」は基本的に次のようになります。
- テーマ.xaml
- SizeResources.xaml
- ColorResources.xaml
- ControlStyles.xaml
- Control1.xaml
- Control2.xaml
Theme.xaml は、SizeResources、ColorResources、および ControlStyles をマージします。ControlStyles は、特定のコントロールのすべての xaml をマージします。
今、私のアプリケーションでそのテーマを適用したいので、OnStartup で Theme.xaml を Application.Current.Resources.MergedDictionaries に追加します。これは正常に機能し、すべてのキーがそこにあります。コントロールを使用しようとすると、サイズや色のリソースが見つからないなどの例外が発生します。具体例:
ColorResources で定義された背景色を持つ特別なボタンがあります。私の ButtonStyle はこのリソースを静的リソースとして使用します。アプリケーション プロジェクトでそのボタンを使用すると、バックグラウンド リソースが見つからないという例外が発生します。control1.xaml で静的リソースを動的リソースに変更すると、機能します。
静的リソースでこれを行うことができない理由はありますか? 私の理解では、静的も同様に機能するはずです。