我在單元格上設置了驗證,並且它按預期工作(在文本框周圍放置紅色突出顯示並添加一個帶有錯誤的工具提示)。但是,如果我嘗試訪問TheGrid是我的DataGrid的Validation.GetHasError(TheGrid),它始終是false。有誰知道如何檢查DataGrid中的ANY單元是否有錯誤?檢查是否有任何WPF DataGrid單元格有錯誤
我想這樣做,所以我可以禁用保存,如果有錯誤。
我在單元格上設置了驗證,並且它按預期工作(在文本框周圍放置紅色突出顯示並添加一個帶有錯誤的工具提示)。但是,如果我嘗試訪問TheGrid是我的DataGrid的Validation.GetHasError(TheGrid),它始終是false。有誰知道如何檢查DataGrid中的ANY單元是否有錯誤?檢查是否有任何WPF DataGrid單元格有錯誤
我想這樣做,所以我可以禁用保存,如果有錯誤。
您可能會遇到的問題與虛擬化這一點,但你可能要看看容器:
var errors = (from c in
(from object i in _myGrid.ItemsSource
select _myGrid.ItemContainerGenerator.ContainerFromItem(i))
where c != null
select Validation.GetHasError(c))
.FirstOrDefault(x => x);
if (errors)
{
//There be errors
}
謝謝,這基本上是我落得這樣做,但而不是查看控件,我檢查了xaml綁定到的數據的錯誤屬性。 – KrisTrip
@KrisTrip:如果你可以將它綁定到當然總是首選的數據上,那麼通常應該不需要一直弄亂生成的容器。 –
我想,我的回答[這個問題] [1]解決它更XAML友好的方式。 [1]:http://stackoverflow.com/questions/7121892/wpf-detect-row-validation-errors-in-c-sharp-code – user2112362