Wpf 在没有验证数据错误的情况下访问IDataErrorInfo

Wpf 在没有验证数据错误的情况下访问IDataErrorInfo,wpf,validation,mvvm,idataerrorinfo,Wpf,Validation,Mvvm,Idataerrorinfo,我有一个Datagrid,我想提供一些数据验证,但我需要避免在单元格处于无效状态时通常发生的锁定机制。有没有一种方法可以绑定到模型上的IDataErrorInfo错误而不使用网格锁定ValidateSondaErrors 具体来说,我希望在不锁定网格的情况下显示错误的工具提示和装饰器 谢谢 结果表明,这可以通过仅在DataGridTemplateColumn的CellTemplate上使用验证来实现 例如: <DataGridTemplateColumn Header="Destinat

我有一个Datagrid,我想提供一些数据验证,但我需要避免在单元格处于无效状态时通常发生的锁定机制。有没有一种方法可以绑定到模型上的IDataErrorInfo错误而不使用网格锁定ValidateSondaErrors

具体来说,我希望在不锁定网格的情况下显示错误的工具提示和装饰器


谢谢

结果表明,这可以通过仅在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>