(Visual Studio 2010)我正在尝试对CheckBoxColumn
WPF 数据网格中的 a 执行验证。我已经设置了一个验证规则,如果它失败了,我希望单元格背景变成红色并有工具提示:
<DataGridCheckBoxColumn Header="Checked" >
<DataGridCheckBoxColumn.Binding>
<Binding Path="CheckProperty" Mode="TwoWay" ValidatesOnDataErrors="True" UpdateSourceTrigger="PropertyChanged" >
<Binding.ValidationRules>
<local:CheckValidationRule ValidationStep="UpdatedValue" />
</Binding.ValidationRules>
</Binding>
</DataGridCheckBoxColumn.Binding>
<DataGridCheckBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="ToolTipService.ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors).CurrentItem.ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridCheckBoxColumn.CellStyle>
</DataGridCheckBoxColumn>
但是当验证失败时,我的单元格样式会被完全忽略。我实际上已经习惯了这个(但我从来没有想过为什么它被忽略了),所以我尝试使用 aTemplateColumn
和 a Checkbox
,在那里我可以更改CheckBox
边框背景,但仍然没有弄清楚如何更改背景颜色整个细胞本身。