代码之家  ›  专栏  ›  技术社区  ›  Filip Frącz

什么更好?INotifyPropertyChanged或具有单独的*已更改事件?

  •  11
  • Filip Frącz  · 技术社区  · 16 年前

    我正在用C#设计一个新类,它有一些属性。我的用户会想知道他们每个人何时改变。

    什么是更好的选择?INotifyPropertyChanged实现风格,还是仅仅拥有与我的属性相对应的单独事件?或者两者都有?

    2 回复  |  直到 16 年前
        1
  •  10
  •   Marc Gravell    16 年前

    向前 INotifyPropertyChanged 是规范,在WPF中有更好的支持。我似乎还记得 BindingList<T> 只尊重 InotifyProperty已更改 (见 HookPropertyChanged UnhookPropertyChanged 在反射器中)。

    EventHandlerList 和一组静态键)

        2
  •  3
  •   Rui Craveiro    16 年前

    试着这样做。创建一个没有INotifyPropertyChanged接口的类,并将其绑定到某个对象。例如,您可以将其一个属性绑定到TextBox的Text属性。添加一个按钮,该按钮将更改,而不是文本框的文本,而是绑定到该框的实例中相应属性的值。运行并单击按钮。文本框将不会收到更改通知。如果随后在类中实现INotifyPropertyChanged,则让属性的setter通过PropertyChanged通知其更改,甚至在重复该实验后,您将看到文本框更新。