0
我有一個Datagrid我想提供一些數據驗證,但我需要避免通常在單元處於無效狀態時發生的鎖定機制。有沒有辦法綁定到模型上的IDataErrorInfo錯誤,而不使用網格鎖定ValidatesOnDataErrors?訪問IDataErrorInfo沒有ValidatesOnDataErrors
說得具體一點,我想顯示錯誤的工具提示和裝飾,而不鎖定網格。
謝謝!
我有一個Datagrid我想提供一些數據驗證,但我需要避免通常在單元處於無效狀態時發生的鎖定機制。有沒有辦法綁定到模型上的IDataErrorInfo錯誤,而不使用網格鎖定ValidatesOnDataErrors?訪問IDataErrorInfo沒有ValidatesOnDataErrors
說得具體一點,我想顯示錯誤的工具提示和裝飾,而不鎖定網格。
謝謝!
原來,這可以通過僅在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>