У меня есть комбинированный список с пользовательским ControlTemplate
, и я хочу изменить BackgroundColor
на основе свойства Controls Validation.Errors
, которое является концепцией WPF при проверке.
Я решил это с помощью Trigger
.Мой ControlTemplate.Triggers
определяется следующим образом
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors), Converter={StaticResource validationRequiredError}}" Value="True">
<Setter Property="Background" TargetName="Border" Value="DeepPink"/>
</DataTrigger>
</ControlTemplate.Triggers>
Мой комбинированный список выглядит следующим образом:
<ComboBox Margin="0" Height="30" HorizontalAlignment="Stretch" VerticalContentAlignment="Center"
IsSynchronizedWithCurrentItem="True"
DisplayMemberPath="Description"
IsEditable="False"
Style="{StaticResource ValidateableCombobox}"
ItemsSource="{Binding Lists.EstimatedDurations}"
SelectedValue="{Binding Model.EstimatedDuration, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Duration"/>
Я уверен, что проверка, определенная в FluentValidation
, запущена и добавлена вErrors
Сбор, но преобразователь, указанный в Trigger, никогда не запускается.
Я также проверил вывод, чтобы проверить ошибки привязки, но ничего не отображается.Нужно ли добавлять что-то особенное в мой ControlTemplate
, чтобы убедиться, что свойство Errors
связано правильно?Кто-нибудь может указать мне правильное направление?
Спасибо!