Приложение, в котором я работаю, имеет 2 ResourceDictionary, DefaultStyles.xaml и CustomStyles.xaml.Использование свойства BasedOn со стилем, определенным в другом словаре
Возможно ли, что стиль в словаре CustomStyles использует базовый стиль, определенный в другом словаре?
DefaultStyles.xaml:
<Style x:Key="TextBlockDefaultStyle" TargetType="TextBlock">
<Setter Property="Margin" Value="4" />
</Style>
CustomStyles.xaml:
<Style x:Key="SectionTitleStyle" TargetType="TextBlock" BasedOn="{StaticResource TextBlockDefaultStyle}">
<Setter Property="FontSize" Value="16" />
</Style>
App.xaml:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Styles/DefaultStyles.xaml"/>
<ResourceDictionary Source="Assets/Styles/CustomStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Когда С ode запускается следующее исключение:
Не удается найти ресурс с именем/ключом TextBlockDefaultStyle.
Это хорошо работает, если оба стиля находятся в одном файле.
Такое поведение reasonable.But я просто была другая проблема: BasedOn = "{StaticResource {х: Кнопка Тип}}" не работал, пока я не изменил его вместо ключа указывается ключ. Это похоже на ошибку во время выполнения WPF. – alehro
Замечание Пер @ alehro, я работал над проблемой, переместив '