wpf: событие TextChanged запускается при настройке DataContext

У меня есть простое представление с одним текстовым полем, которое привязывается к простой модели представления с одним строковым свойством.

Мне нужно поймать событие TextChanged этого текстового поля, чтобы я мог сделать небольшую магию проверки.

Проблема, с которой я сталкиваюсь, заключается в том, что событие TextChanged срабатывает для этого текстового поля, когда DataContext установлен для представления.

Есть ли стандартный механизм, который я могу использовать, чтобы определить, происходит ли событие из-за установки DataContext или когда пользователь вносит изменения?

Спасибо!


person BigFunger    schedule 31.03.2011    source источник


Ответы (1)


Насколько я знаю, такого механизма нет. Вместо этого вы должны сделать свою магию проверки, используя стандартные средства WPF. См. следующую ссылку: http://msdn.microsoft.com/en-us/library/ms752347.aspx#data_validation.

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

person Pavlo Glazkov    schedule 31.03.2011
comment
Спасибо за ответ! Я сформулировал проблему так хорошо, как только мог, для краткости, и на самом деле она не так проста, как эта. Обычно я бы использовал сеттер, но в этом случае я не могу. - person BigFunger; 31.03.2011