绑定:WPF与WinForms

时间:2010-01-21 15:42:40

标签: wpf winforms binding

据我所知,INotifyPropertyChanges是在WPF之前“发明的”。有人可以解释一下WPF中的新内容,它允许对对象的属性执行控件的不同类型的绑定属性。

这个也可以在WinForms中使用,但由于某些原因不是很受欢迎? (如果是,那是什么原因)?

感谢。

1 个答案:

答案 0 :(得分:5)

在WPF中,您不仅可以绑定实现INotifyPropertyChanged的对象,还可以绑定公开dependency properties的依赖项对象,它们比常规属性更灵活。

还有新的集合接口:

  • INotifyCollectionChanged,允许馆藏在添加,删除或替换项目时发送通知
  • ICollectionView,定义了如何向UI呈现集合

WPF绑定机制也比Windows窗体绑定灵活得多......在Windows窗体中,你只能说:将对象A的属性X绑定到对象B的属性Y.没有DataContext,所以你不能不要定义相对绑定。您无法使用复杂的属性路径(例如A.X.Items [foo] .Bar)。所有转换都必须在事件处理程序中完成,而不是在可重用的转换器中完成。绑定只能在控件上定义,而在WPF中,任何DependencyObject都可以使用绑定。等等...