如果我注册以获得有关房产变更的通知,则只会在重新分配实际房产时通知。因此,如果我有一个属于文本框的属性,它将不会通知文本框的文本是否发生变化,对吧?有没有办法让它以这种方式工作?
答案 0 :(得分:1)
如果您对某个对象的特定属性感兴趣,那么您应该在值本身上使用INotifyPropertyChanged
之类的机制。不幸的是,虽然在这种情况下来自WinForms的TextBox
没有实现INotifyPropertyChanged
。要侦听其Text
属性的更改,您需要订阅TextChanged
事件
答案 1 :(得分:0)
我很难想象为什么类会暴露类型为TextBox
的属性。无论如何,如果你最终得到这样的设计,你可以简单地添加两个属性,每个属性用于TextBox
本身和里面的文本,然后听取TextBox
的{{1}}事件和火你的TextChanged
就可以了。
但我觉得你需要重新思考你的方法。如果您的类公开了NotifyPropertyChanged
类型的属性,那么实际上应该有一些地方可以将一个新的TextBox实际分配给一个类实例,而上层则会监听此更改。但我认为情况并非如此。您几乎肯定会在寻找文本更改,因此应该公开TextBox
类型的属性。