Как я могу основать стиль WPF на стиле из словаря скомпилированных ресурсов?
Я скачал бесплатные стили Reuxables и добавил их в качестве словаря ресурсов в свой App.xaml. Я также добавил свой собственный словарь ресурсов, который включает в себя шаблон валидатора.
Проблема заключается в том, что когда я добавляю целевой тип стиля в свой шаблон валидатора для целевого типа объекта, этот тип объекта теряет стиль из библиотеки Reuxables.
Это мой App.xaml:
<Application x:Class="App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ReuxablesLegacy;component/edge.xaml" />
<ResourceDictionary Source="Themes/Validator.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
И это мой словарь ресурсов валидатора:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:WPFLibrary.Converters;assembly=WPFLibrary">
<conv:ErrorListConverter x:Key="errorListConverter" />
<Style x:Key="myValidatorTemplate" TargetType="Control">
<!-- If return from converter is 'true' (where converter is handed a dictionary and property name) then set the border and tooltip accordingly -->
<Style.Triggers>
<DataTrigger Value="true">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource errorListConverter}" ConverterParameter="EXISTS" >
<Binding Path="ErrorList" />
<Binding RelativeSource="{RelativeSource Self}" Path="Tag" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="ToolTip" >
<Setter.Value>
<MultiBinding Converter="{StaticResource errorListConverter}" ConverterParameter="VALUE" >
<Binding Path="ErrorList" />
<Binding RelativeSource="{RelativeSource Self}" Path="Tag" />
</MultiBinding>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
<!--List the control types that should be able to display validation errors-->
<Style TargetType="TextBox" BasedOn="{StaticResource myValidatorTemplate}" />
<Style TargetType="ComboBox" BasedOn="{StaticResource myValidatorTemplate}" />
<Style TargetType="DatePicker" BasedOn="{StaticResource myValidatorTemplate}" />
<Style TargetType="DataGrid" BasedOn="{StaticResource myValidatorTemplate}" />
<Style TargetType="DataGridCell" BasedOn="{StaticResource myValidatorTemplate}" />
<Style TargetType="GroupBox" BasedOn="{StaticResource myValidatorTemplate}" />
<Style TargetType="TabItem" BasedOn="{StaticResource myValidatorTemplate}" />
</ResourceDictionary>
Поскольку я применяю валидатор к текстовым полям, выпадающим спискам, средствам выбора даты, сетям данных, групповым полям и таблицам, все они утратили свой стиль Reuxables Edge.
Я ценю любые решения. Спасибо!