绑定到Combobox Validation。控件模板中的错误

时间:2019-02-06 13:14:28

标签: wpf wpf-controls

我有一个带有自定义ControlTemplate的组合框,并且我想基于控件BackgroundColor属性(这是验证时的WPF概念)来更改Validation.Errors

我已经决定使用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集合中,但是触发器中指定的转换器永远不会运行。

我还检查了输出以验证绑定错误,但未显示任何错误。我是否需要在ControlTemplate上添加一些特殊内容,以确保Errors属性被正确绑定?谁能指出我正确的方向?

谢谢!

0 个答案:

没有答案