如何防止绑定触发TextChanged事件?

3
我正在使用Control.TextChanged事件来检测用户是否修改了表单。我有一个方法,循环遍历每个控件并将相同的TextChanged添加到所有控件中。
我的问题是,在表单上我还有数据绑定,绑定了具有Binding.Format()和Binding.Parse()的绑定,并且这些绑定位于TabControl中。如果用户更改选项卡(SelectedIndexChanged),它会激活Format/Parse并触发TextChanged事件,这使得它看起来像是表单已被修改!
我应该如何做才能(1)防止绑定或Binding.Format和.Parse触发TextChanged事件,或者(2)实现更好的方法来检测表单上的控件是否已被修改?
1个回答

0

不要检查实际的 TextChanged 事件,而是检查后备属性并查看它们何时更改。您可以利用 INotifyPropertyChanged 来帮助解决此问题。


嗯...你能给我提供一个例子吗?我在 MSDN 上查了 iNPC,但我不太确定如何将其实现到我想做的事情上。对于我如何使用该属性并不是很清楚。 - Isaac
它是否以任何方式涉及“如何使用BindingSource和INotifyPropertyChanged接口引发更改通知”的示例,链接为http://msdn.microsoft.com/en-us/library/ms184414.aspx? - Isaac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接