Обработчик PropertyDescriptor.AddValueChanged не будет выполняться с пустой строкой или строкой пробелов

Я использую propertyDescriptor, чтобы прикрепить обработчик для каждого свойства экземпляра. Когда одно из этих свойств изменяется, вызывается метод-обработчик, за исключением одного случая (вот проблема): когда значение является строкой, а эта строка пуста или содержит только пробелы.

Я должен выполнить этот случай, чтобы обновить свойство IsEnabled моей кнопки Сохранить.

foreach (PropertyDescriptor propertyDescriptor in TypeDescriptor.GetProperties(this.MyInstance))
{
    propertyDescriptor.RemoveValueChanged(this.MyInstance, this.MyMethod);
}

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

1 ответ

Я нашел новое поведение.

Все свойства используются с привязками в приложении WPF. MyMethod вызывается, только если для свойства UpdateSourceTrigger установлено значение LostFocus. Со значением PropertyChanged это не так. Для некоторых свойств я должен использовать значение PropertyChanged: для динамического ValidationRules в качестве примера.

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