說說WPF的依賴屬性

2022-07-20 01:39:11 字數 1081 閱讀 3216

什麼是依賴屬性:依賴屬性自己沒有值,通過依賴別人(如binding)來獲得值。

依賴屬性為什麼會出現:控制項常用字段有限,包裝太多屬性會占用過高記憶體,造成浪費。所以用依賴屬性,用不著就不用,用得著就用。

怎麼宣告依賴屬性:用public static readonly三個修飾符修飾。

怎麼宣告例項:使用dependencyproperty.register方法生成。此方法有三個引數跟四個引數。

怎麼操作依賴屬性的值:利用依賴物件(dependency object)的getvalue、setvalue方法實現。

xaml

宣告依賴屬性與引用

public class student : dependencyobject

引用

public mainwindow()

執行程式則成功獲取依賴屬性的值。但不能直接在xaml中得到依賴屬性的值?我們可以繫結依賴屬性到文字框上

在後置**處繫結資料

//例項化類

student stu = new student();

this.datacontext = stu;

則成功獲取依賴屬性

可能到此處就有人問了,宣告依賴屬性打這麼多字很麻煩,有沒有方便的方法?可以通過打propdp然後按兩次tab鍵,visual studio會自動生成依賴屬性,自動生成的依賴屬性的dependencyproperty.register

(可能有觀察力強的人問,新增依賴屬性會產生這麼多錯誤嗎?因為途中有多個錯誤資訊。其實這些錯誤是我在命名空間中宣告依賴屬性導致的,這是個錯誤的示範,無視即可)

依賴屬性可用於場景不斷變化的場景,比如乙個按鈕的文字在不同情況下變化。這種情況我們可以繼承介面inotifypropertychanged,然後宣告屬性的變化通知。不過相對依賴屬性來說,它的效能成本高,所以這樣的情況就可以使用依賴屬性。其它類需要使用此依賴屬性的時候 ,也可以借用。一般依賴屬性的應用場景是自定義控制項。

WPF 依賴屬性

原文 wpf 依賴屬性 屬性和事件是.net抽象模型的核心部分,wpf在這之上增加了dependency property 依賴屬性 依賴屬性使用更高效的儲存機制,並且支援附加的功能,更改通知 屬性值繼承 在元素樹中向下傳播預設屬性值 以及減少屬性儲存空間。依賴屬性是wpf動畫 資料繫結和樣式的基礎...

WPF依賴屬性

依賴屬性是一種可以自己沒有值,並能通過使用binding從資料來源獲取值 依賴在別人身上 的屬性。優點 wpf的所有控制項都是依賴屬性。依賴物件被dependencyobject類實現,依賴屬性由dependencyproperty類實現。dependencyobject有getvalue setv...

WPF 依賴屬性

屬性是我們再熟悉不過的了,那麼究竟依賴屬性怎麼寫呢?依賴屬性和屬性到底有什麼區別和聯絡呢?其實依賴屬性的實現很簡單,只要做以下步驟就可以實現 第一步 讓所在型別繼承自 dependencyobject基類,在wpf中,我們仔細觀察框架的類圖結構,你會發現幾乎所有的 wpf 控制項都間接繼承自depe...