概念
綁定是一種關係,告訴目標對象使用原對象的一些信息設置其屬性值。
分類
綁定關係分爲很多種,但是本質上來說是 目標對象的屬性 和 源對象的屬性 進行綁定。
我們這裏我們要求:
- 目標對象的屬性必須是依賴項屬性(這點很好理解,依賴項屬性提供了讓對象可以根據數據源改變的能力)
- 源對象屬性可以是任何內容,包括依賴項屬性,其他WPF元素,甚至是ADO.NET數據對象
通過上面的說明我們發現,綁定這塊的內容還是比較多的,其複雜表現在源對象的類型比較多變,我們將其分爲兩類:
- 元素綁定:源對象是 WPF元素並且源屬性是依賴項屬性。
- 數據綁定:源對象爲其他對象(這裏涵蓋較多,我們之後還會討論)
如何綁定
要實現一個屬性變化,另一個屬性跟着變化這樣的功能,我們正常思考,需要兩個條件:
- 源屬性在變化的時候通知出去
- 目標屬性能夠監聽通知並且在接到通知的時候能夠進行改變自己的值
我們之前講了目標屬性必須是依賴項屬性,那目標屬性監聽,修改自身就沒有問題,問題就出在源屬性上面,對於一個普通的對象,或是一個ADO.NET數據對象來說,本身自己是沒有通知的能力的,而對於依賴項屬性來說,它具有通知能力,所以 元素綁定更簡單(不需要我們做額外操作就能綁定),數據綁定更復雜(需要我們調教一下源屬性才能實現綁定)
綁定的講解計劃
前面鋪墊了這麼多,想必大家對於綁定分爲哪幾種已經有了一定的認識,這裏需要說的是,綁定是WPF中很關鍵的技術,也是我們之後使用MVVM的設計模式的基礎,十分的重要,所以我們計劃分爲三篇文章來講解綁定。
- 元素綁定
- 數據綁定
- 綁定實戰手冊
前兩篇針對綁定的兩種分類進行講解,最後一篇總結所有的綁定方式,以供使用的時候查詢。
下一篇文章我們就先講解元素綁定,在講解完了模板,樣式等知識之後我們再講解數據綁定,最後總結綁定的實戰手冊。