使用XmlDataProvider和绑定的TextBox检测源数据的更改

时间:2008-11-04 01:08:07

标签: c# wpf binding textbox xmldataprovider

我有TreeView bound to an XmlDataProvider。节点的名称反映在树中,节点的数据位于TextBox中。单击树项时,它会在TextBox中加载数据。

确定用户何时更改XmlDataProvider引用的源数据的最佳方法是什么。

我想在文件名旁边放一个星号(*)来表示文档很脏并且应该保存。这也将决定退出程序时是否提醒用户保存。

不幸的是,当TextBox通过双向绑定更新时,它会触发TextChanged事件。

有没有办法确定TextChanged事件是由双向绑定代码而不是用户触发的?

我还试图在XmlDataProvider上使用DataChanged事件,但这个事件在最初加载数据时才会出现。

我想我可以直接捕捉TextBox中的按键,但它看起来很乱。

[编辑] 看来PreviewTextInput似乎可以用于此目的...有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

PreviewTextInput成功了。