【发布时间】:2018-06-15 15:12:56
【问题描述】:
我在我的ViewModels 中使用IDataErrorInfo 和DataAnnotations 来处理验证,我想在我的DataGrid 中使用它们进行验证。我想要的细胞行为可以在TextBox 中轻松模拟:
<TextBox Name="TestBox"
Text="{Binding TextProperty, UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True, NotifyOnValidationError=True}"/>
但是,在我的 DataGrid 中,列是自动生成的,我无法像手动定义它们那样设置 ValidatesOnDataErrors 绑定选项。
我想做的是在样式中遵循这些原则,因为我不想改变绑定的值,只改变它的绑定选项:
<Style TargetType="DataGridCell">
<Setter Property="Content" Value="{Binding Path=., UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True, NotifyOnValidationError=True}"/>
</Style>
但这不起作用。我不确定在设置器中使用什么属性,因为DataGridCell 有一个内部TextBox 或TextBlock,以及究竟是什么处理单元格的验证。
有什么想法吗?
【问题讨论】:
标签: wpf data-annotations wpfdatagrid idataerrorinfo datagridcell