Я использовал эту технику, которая покончила с RowValidationRules и вместо этого использовала проверки свойств в модели представления. Это требует статических переменных и аннотаций данных:
у меня есть WPFDataGrid
, который связан сObservableCollection
, Коллекция имеет проверку на своих членов, черезIDataErrorInfo
, Если я отредактирую ячейку таким образом, чтобы она была недействительной, а затем отошел от нее перед нажатием клавиши ввода, затем вернусь и сделаю ее действительной, ячейка перестанет показывать недействительную, однако «!» во главе ряда все еще будет там, иToolTip
будет ссылаться на предыдущее недопустимое значение.