Как проверить другое свойство, которое было изменено с помощью IDataErrorInfo с WPF?

Я использую IDataErrorInfo для проверки моих моделей представления, так как это позволяет мне использовать явный синтаксис xaml, и это довольно просто, как только вы его получите.

Мой вопрос заключается в том, как проверить одно свойство при изменении другого, потому что проверка состоит не только из значения в ячейке, но зависит от других. Я вижу, что метод проверки вызывается только при изменении значения свойства.

Заранее спасибо.

1 ответ

Решение

С IDataErrorInfo вы можете подключиться

public string this[string columnName]

переопределив его или написав свой собственный.

в вашем случае проверьте, что columnName равно свойству, которое вы хотите проверить, а затем либо верните строку со значением, представляющим ошибку проверки, либо null, чтобы сказать, что ошибки не было.

Кроме того, чтобы удостовериться в его повторной проверке, при обновлении зависимых свойств убедитесь, что вы сделали OnPropertyChanged для основного свойства.

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