wpf - 绑定(bind):WPF 与 WinForms

标签 wpf winforms binding

据我所知,INotifyPropertyChanges 是在 WPF 之前“发明”的。有人可以解释一下 WPF 中的新功能,它允许将控件的不同类型的绑定(bind)属性绑定(bind)到对象的属性。

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

谢谢。

最佳答案

在 WPF 中,您不仅可以绑定(bind)到实现 INotifyPropertyChanged 的对象。 ,但也暴露于依赖对象 dependency properties ,它比常规属性灵活得多。

集合还有新的接口(interface):

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

  • WPF的绑定(bind)机制也比Windows Forms的绑定(bind)灵活很多……在Windows Forms中,只能说:Bind property X of object A to property Y of object B. 没有DataContext,所以不能定义相对绑定(bind)。您不能使用复杂的属性路径(例如 A.X.Items[foo].Bar)。所有转换都必须在事件处理程序中完成,而不是在可重用转换器中完成。绑定(bind)只能在控件上定义,而在 WPF 中任何 DependencyObject可以使用绑定(bind)。等等...

    关于wpf - 绑定(bind):WPF 与 WinForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2110514/

    相关文章:

    c# - Resharper 说 OnPropertyChange set member can be private while not true

    c# - 如何将图片合并到 WriteableBitmap 中?

    c# - 加载用户控件时显示 "User control is loading"消息

    C# WPF 绑定(bind)到数据库

    c# - EF 不要在 BindingSource 中使用 IQueryable 保存

    wpf - 如何使用自定义模板文件导出数据

    c# - DataTable 列名称包括方括号 [name]

    c# - 在 C# 中获取 datagridview 中每一行的时间跨度

    c# - 单击通知图标时如何以编程方式显示上下文菜单?

    binding - 如何在 WinRT 中的 ItemContainerStyle 中进行绑定(bind)?