我正在尝试设置DataGridCells的Validation.ErrorTemplate,这是xaml代码:
<Style x:Key="{x:Type DataGridCell}" x:Uid="dataGridCellErrorTemplate" TargetType="{x:Type DataGridCell}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate >
<Border BorderBrush="Green" BorderThickness="2" ToolTip="Heidenei"></Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<!-- following line only for demonstration that the setter is working ... -->
<Setter Property="Background" Value="Aquamarine"></Setter>
</Style>
虽然datagridcells的背景成功地显示为绿色(与任何验证结果无关),但使用的Validation.ErrorTemplate仍然是默认值,即红色边框。
我知道stackoverflow中存在类似的问题,例如: Styling DataGridCell Error Template 但他们并没有真正解决我的问题。
感谢任何帮助
谢
答案 0 :(得分:4)
我相信我遇到了同样的问题。
使用DataGridTemplateColumn
时,内容会显示ContentPresenter
。此内容演示者使用默认错误模板。
我无法找到为个人DataGridTemplateColumn
删除此模板的直接方法,但您可以通过向DataGrid的资源添加样式来删除DataGrid中所有内容展示者。
<DataGrid.Resources>
<Style TargetType="ContentPresenter">
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</DataGrid.Resources>
答案 1 :(得分:0)
我很幸运,使用以下TextBlock
样式删除了刺激性的红色边框。
<Style TargetType="TextBlock">
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>