文章目錄
- 前言
- 附加屬性
- 樣式屬性
- 直接屬性
- 總結
前言
在WPF中, 是可以定義依賴屬性和附加屬性的
依賴屬性: 當您需要單獨創建控件時, 并且希望控件的某個部分能夠支持數據綁定時, 你則可以使用到依賴屬性。
通過DependencyProperty.Register注冊依賴屬性
附加屬性: 這種情況很多, 正因為WPF當中并不是所有的內容都支持數據綁定, 但是我們希望其支持數據綁定, 這樣我們就可以創建基于自己聲明的附加屬性,添加到元素上, 讓其元素的某個原本不支持數據綁定的屬性間接形成綁定關系。
通過 DependencyProperty.RegisterAttached注冊附加屬性
在我們寫Avalonia框架的時候,也會有類似的屬性,來解決綁定等問題, 它們分別是
AttachedProperty 附加屬性
StyledProperty 樣式屬性
DirectProperty 直接屬性
附加屬性
附加屬性相對來說比較獨立,可以隨便放到一個類文件中,甚至可以統一全部放到一個類文件中,只是將屬性放在了由Class對象的索引的一些static Dictionary對象中,定義完還可以為屬性指定一些默認值,這樣說的話, 是不是這個Class對象定義為Static的比較好一點?
定義一個附加屬性,可以通過代碼片段 avap 來快速定義
#region Thick Attached Avalonia Property