Обнаружение изменений в исходных данных с использованием XmlDataProvider и привязанного TextBox - PullRequest
0 голосов
/ 04 ноября 2008

У меня есть TreeView, привязанный к XmlDataProvider . Имя узла отражается в дереве, а данные узла находятся в TextBox. Когда вы нажимаете на элемент дерева, он загружает данные в TextBox.

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

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

К сожалению, когда TextBox обновляется с помощью двусторонней привязки, он запускает событие TextChanged.

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

Я также пытался использовать событие DataChanged на XmlDataProvider, но это событие возникает только при начальной загрузке данных.

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

[Редактировать] Похоже, что PreviewTextInput работает для этой цели ... Есть ли лучший способ?

1 Ответ

0 голосов
/ 16 апреля 2010

PreviewTextInput добился цели.

...