0

(VS 2010) DataGridComboBobxColumWPF データグリッドに があります。評価される検証ルールを使用しようとしています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問題なく行ったので、ここで何が問題なのかわかりません。

4

0 に答える 0