これらの辞書がある場合:
dict1.xaml:
<Color x:Key="Color1">Red</Color>
dict2.xaml:
<SolidColorBrush x:Key="Brush1" Color={StaticResource Color1} />
これは機能します:
アプリ.xaml:
<MergedDictionaries>
<ResourceDictionary Source="dict1.xaml"/>
<MergedDictionaries>
SomePage.xaml:
<UserControl.Resources>
<MergedDictionaries>
<ResourceDictionary Source="dict2.xaml"/>
</MergedDictionaries>
</UserControl.Resources>
これはしません:
App.xaml は両方をアプリケーション レベルでマージします。
Color1 が見つからないというエラーが表示されます。
どうしてこれなの ?/それを回避する方法はありますか? この例が単純化されていることはわかっていますが、実際の例は長すぎます。基本的に、スタイルとテンプレートを別のファイルに整理しようとしています。
- 色の 1 つ
- 暗黙のスタイル用の 1 つ
- 明示的なスタイルの多く
編集:不思議なことに、プロパティをApplication_Startup
設定する前にコードでこれRootVisual
を行うと、エラーは発生しません...理由がわかりません!