Пользовательское событие на объекте для изменения состояния кнопки - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть 3 кнопки в форме ввода данных, ОК, ПРИМЕНИТЬ, ОТМЕНА.

Эта форма используется для редактирования данных врача, таких как имя, номер телефона и т. Д ...

У меня есть один объект doctorObj, который в любой момент времени либо пуст (новый доктор), либо объект извлечен из запроса Linq.

Я глубоко клонирую doctorObj в EditCopyDoctor, который относится к тому же типу, но используется для редактирования формы (поэтому, если нажата кнопка Отмена, базу данных обновлять не нужно).

Чего я хочу добиться, так это наблюдать за EditCopyDoctor на предмет изменений по сравнению с оригинальным doctorObj, поэтому

If(doctor.Changed() && doctor.IsNotNew)
{
ApplyButton.Enabled = true;
}
else
{
ApplyButton.Enabled = false;
} 

Так что я подумал, что написать событие, которое будет срабатывать, когда что-то изменилось в EditCopyDoctor, - лучший способ сделать это, но я не уверен, как это сделать.

Конечно, я могу поместить код ApplyButton.Enabled в события TextChanged из формы, но мне было интересно, есть ли более быстрые способы сделать это, я действительно не хочу делать это, так как есть 10+ текстовое поле и другие элементы управления.

1 Ответ

1 голос
/ 14 декабря 2010

Поскольку ваш тип «Доктор» звучит так, как будто он создан LINQ to SQL / Entities, вы должны обнаружить, что он уже реализует интерфейс INotifyPropertyChanged.Поэтому вам просто нужно посмотреть событие PropertyChanged и действовать соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...