Datagrid ComboBoxColumn验证问题

时间:2013-08-16 19:31:20

标签: wpf visual-studio-2010 validation datagridcomboboxcolumn

(VS 2010)我的WPF数据网格中有一个DataGridComboBobxColum。我正在尝试使用在UpdatedValue上评估的验证规则:

<DataGridComboBoxColumn Header="Model" x:Name="ModelCBColumn"  
                        ElementStyle="{StaticResource cbErrorStyle}"  >
                <DataGridComboBoxColumn.SelectedItemBinding>
                    <Binding Path="Model" Mode="TwoWay" ValidatesOnDataErrors="True" UpdateSourceTrigger="PropertyChanged">
                        <Binding.ValidationRules>
                            <local:ModelValidationRule ValidationStep="UpdatedValue" />
                        </Binding.ValidationRules>
                    </Binding>
                </DataGridComboBoxColumn.SelectedItemBinding>

然后ElementStyle应该更改单元格背景并显示验证错误的工具提示:

<Style x:Key="cbErrorStyle" TargetType="{x:Type ComboBox}">
                <Style.Triggers>
                    <Trigger Property="Validation.HasError" Value="true">
                        <Setter Property="ToolTip"
                    Value="{Binding RelativeSource={RelativeSource Self},
                            Path=(Validation.Errors)[0].ErrorContent}"/>
                        <Setter Property="Background" Value="Yellow"/>
                    </Trigger>
                </Style.Triggers>
            </Style>

但我的ElementStyle永远不会被应用。相反,对于验证错误,单元格周围有默认的红色边框,行标题中有!图标。没有工具提示或黄色背景。更糟糕的是,当细胞被校正时,红色边框将消失,但!仍然存在。没有行验证规则。我为TextBoxColumns做了一个非常类似的方法没有问题,所以不知道这里有什么问题。

0 个答案:

没有答案