(VS 2010) DataGridComboBobxColum
WPF データグリッドに があります。評価される検証ルールを使用しようとしていますUpdatedValue
:
<DataGridComboBoxColumn Header="Model" x:Name="ModelCBColumn"
ElementStyle="{StaticResource cbErrorStyle}" >
<DataGridComboBoxColumn.SelectedItemBinding>
<Binding Path="Model" Mode="TwoWay" ValidatesOnDataErrors="True" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<local:ModelValidationRule ValidationStep="UpdatedValue" />
</Binding.ValidationRules>
</Binding>
</DataGridComboBoxColumn.SelectedItemBinding>
次にElementStyle
、セルの背景を変更し、検証エラーのツールチップを表示することになっています。
<Style x:Key="cbErrorStyle" TargetType="{x:Type ComboBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
<Setter Property="Background" Value="Yellow"/>
</Trigger>
</Style.Triggers>
</Style>
しかし、私ElementStyle
は決して適用されません。代わりに、検証エラーの場合、セルの周囲に既定の赤い境界線が表示!
され、行ヘッダーにアイコンが表示されます。ツールチップや黄色の背景はありません。さらに悪いことに、セルが修正されると、赤い境界線は消えますが!
残ります。行の検証規則はありません。私は非常によく似たアプローチをTextBoxColumns
問題なく行ったので、ここで何が問題なのかわかりません。