【发布时间】:2008-11-04 01:08:07
【问题描述】:
我有一个TreeView bound to an XmlDataProvider。节点的名称反映在树中,节点的数据在 TextBox 中。当您单击一个树项时,它会在 TextBox 中加载数据。
确定用户何时更改 XmlDataProvider 引用的源数据的最佳方法是什么。
我想在文件名旁边放一个星号 (*) 表示该文档很脏,应该保存。这也将决定退出程序时是否提醒用户保存。
不幸的是,当双向绑定更新 TextBox 时,它会触发 TextChanged 事件。
有没有办法确定 TextChanged 事件是由双向绑定代码而不是由用户触发的?
我还尝试在 XmlDataProvider 上使用 DataChanged 事件,但该事件似乎仅在最初加载数据时触发。
我想我可以直接在 TextBox 中捕获按键,但它看起来很乱。
[编辑] 看来 PreviewTextInput 似乎可以用于此目的...有没有更好的方法?
【问题讨论】:
标签: c# wpf binding textbox xmldataprovider