0

データ検証を提供したいデータグリッドがありますが、セルが無効な状態にあるときに通常発生するロックメカニズムを回避する必要があります。グリッドロック ValidatesOnDataErrors を使用せずに、モデルの IDataErrorInfo エラーにバインドする方法はありますか?

具体的には、グリッドをロックせずにツールチップとエラーの装飾を表示したいです。

ありがとう!

4

1 に答える 1

0

これは、DataGridTemplateColumn の CellTemplate でのみ検証を使用することで実現できることがわかりました。

そのような:

 <DataGridTemplateColumn Header="Destination Column">
                    <DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <ComboBox IsEditable="True"
                                      IsTextSearchCaseSensitive="{Binding ElementName=caseSensitiveSearch, Path=IsChecked}"
                                      ItemsSource="{Binding AllSuggestedNames}"
                                      TextSearch.TextPath="SuggestedName"
                                      Text="{Binding ColumnMapping.DestinationColumnName, UpdateSourceTrigger=PropertyChanged}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellEditingTemplate>
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Style="{StaticResource TextBlockValidationStyle}"
                                       Text="{Binding ColumnMapping.DestinationColumnName, 
                                                ValidatesOnDataErrors=True, 
                                                NotifyOnValidationError=True, 
                                                UpdateSourceTrigger=PropertyChanged}"
                                       Validation.ErrorTemplate="{StaticResource validationTemplate}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
于 2012-07-20T16:11:30.153 に答える