2010-01-21 76 views
4

據我所知,INotifyPropertyChanges是在WPF之前「發明」的。有人可以請解釋什麼是WPF中的新功能,允許執行控件的不同類型的綁定屬性到對象的屬性。綁定:WPF vs WinForms

要麼這也是在WinForms中可用,但由於某些原因並不那麼受歡迎? (如果是的話,那是什麼原因)?

謝謝。

回答

5

在WPF中,您不僅可以綁定到實現INotifyPropertyChanged的對象,還可以綁定到依賴對象,並暴露dependency properties,這比常規屬性更靈活。

還有一些新的接口,用於集合:

  • INotifyCollectionChanged,這使得當添加,刪除或替換
  • ICollectionView,它定義了收集的方式呈現給UI
  • 項目集合發送通知

WPF綁定機制也比Windows窗體綁定更靈活...在Windows窗體中,您只能說:將對象A的屬性X綁定到對象B的屬性Y.沒有DataContext,所以你不能定義相對綁定。您不能使用複雜的屬性路徑(例如A.X.Items [foo] .Bar)。所有的轉換都必須在事件處理程序中完成,而不是在可重用的轉換程序中完成。綁定只能在控件上定義,而在WPF中,任何DependencyObject都可以使用綁定。等等...

+0

鏈接已死亡。 – 2015-12-08 14:40:22

+0

@ChieltenBrinke,修好了,謝謝 – 2015-12-08 16:03:00