0

我有一个 Datagrid 我想提供一些数据验证,但我需要避免通常在单元格处于无效状态时发生的锁定机制。有没有办法在不使用网格锁定 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 回答