我发现当行的项目包含验证错误时,ContentPresenter
用于显示内容的DataGridTemplateColumn
默认显示。ErrorTemplate
我看不到任何直接的方法来防止这种情况。有任何想法吗?
这是我第一次尝试确保没有显示验证错误模板:
<DataGridTemplateColumn Width="70" Header="Enabled" Validation.ErrorTemplate="{x:Null}" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Enabled.Value}"
HorizontalAlignment="Center"
VerticalAlignment="Center" Validation.ErrorTemplate="{x:Null}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellStyle>
<Style >
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>
使用 Snoop 我看到单元格包含一个ContentPresenter
显示验证错误的单元格。
我发现我只能通过删除数据网格中所有内容呈现器上的错误模板来禁用此功能,如下所示:
<DataGrid.Resources>
<Style TargetType="ContentPresenter">
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</DataGrid.Resources>
有没有办法只影响单身DataGridTemplateColumn
?
这篇文章看起来很相似: DataGridCell Validation.ErrorTemplate 被忽略