我遇到了following问题,并通过synergetic答案的修改版本解决了这个问题。所以我的风格看起来像这样:
<Style x:Key="{x:Type DataGridRowHeader}" TargetType="{x:Type DataGridRowHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Control SnapsToDevicePixels="true"
Visibility="{Binding RelativeSource={RelativeSource
AncestorType={x:Type DataGridRow}},
Path=Item.HasErrors, Converter={StaticResource
BooleanToVisibilityConverter}}"
Template="{Binding RelativeSource={RelativeSource
AncestorType={x:Type DataGridRow}},
Path=ValidationErrorTemplate}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
效果很好,但DataGridRowHeader
不再显示在默认样式中,但(据我所知)默认样式是通过ValidationErrorTemplate
引用的。
比较
(在添加上述样式后)
我希望实现。
知道我需要改变什么以获得默认风格吗?我没有想法。