Если у меня есть следующие словари:
dict1.xaml:
<Color x:Key="Color1">Red</Color>
dict2.xaml:
<SolidColorBrush x:Key="Brush1" Color={StaticResource Color1} />
Это работает:
App.xaml:
<MergedDictionaries>
<ResourceDictionary Source="dict1.xaml"/>
<MergedDictionaries>
SomePage.xaml:
<UserControl.Resources>
<MergedDictionaries>
<ResourceDictionary Source="dict2.xaml"/>
</MergedDictionaries>
</UserControl.Resources>
Это не:
App.xaml объединяет оба на уровне приложения.
Я получаю сообщение об ошибке, что Color1 не найден.
Почему это? / Есть ли способ обойти это? Я знаю, что этот пример упрощен, но реальный будет слишком длинным. По сути, я просто пытаюсь организовать свои стили и шаблоны в разные файлы:
- Один для цветов
- Один для неявных стилей
- Многие для явных стилей
edit: любопытно, что если я сделаю это в коде на Application_Startup
, перед установкой свойства RootVisual
я не получу сообщение об ошибке ... Я просто озадачен, почему!