Свойство WPF DataGrid для ошибки проверки

У меня есть три вкладки, TabItem1, TabItem2 и TabItem3. В TabItem1 у меня есть DataGrid (MyDgr), в котором столбцы были связаны с ValidationRules.

Правила валидации работают отлично и отлавливают записи с не желаемым форматом (и даже показывают красный прямоугольник вокруг ячейки с проблемой). Существует также всплывающая подсказка, в которой показано, какую ошибку обнаружило правило проверки.

Проблема заключается в том, что даже при наличии ошибки в DataGrid, все еще можно использовать другой элемент управления, например, щелкнуть TabItem2.

Я хотел бы предотвратить нажатие на TabItems2 и 3 (то есть оставаться в TabItem1), если DataGrid в TabItem1 по-прежнему имеет ошибки.

Есть ли свойство DataGrid, которое показывает, есть ли ошибки в ячейках DataGrid (что определяется правилами валидации)? Я надеялся установить флаг, если DataGrid показывает ошибку, которая не была исправлена. Предполагая, что свойство, показывающее, что в DataGrid существует ошибка нефиксированной ячейки, существует и называется "ErrorIsPresent", я хотел бы иметь что-то вроде этого при нажатии TabItem2 и Tabitem3:

bool dgrHasAnError = MyDgr.ErrorIsPresent;
if(dgrHasAnError)
{ 
    TabItem1.IsSelected = true; //To 'forcefully' stay in TabItem1
}

Я не уверен, есть ли лучший способ достичь моей цели. Любая помощь приветствуется!

0 ответов

Другие вопросы по тегам