依賴屬性的使用

2022-09-11 23:45:29 字數 1726 閱讀 8145

一、為什麼需要定義依賴屬性:

二、建立依賴屬性的快捷方式:輸入propdp,再敲兩次tab鍵

三、新增屬性封裝器:使用clr屬性對getvalue和setvalue兩個方法進行包裝。

1

public

bool

isrotate24

set5 }

四、依賴屬性的定義:

(1)利用快捷鍵生成的依賴屬性模板如下:

1

public

static

readonly dependencyproperty mypropertyproperty =

2 dependencyproperty.register("

myproperty

", typeof(int), typeof(ownerclass), new propertymetadata(0));

(2)註冊依賴屬性的方式有多種,上述是最常用的一種。註冊引數最多有五個:

1

public

static dependencyproperty register(string name, type propertytype, type ownertype, propertymetadata typemetadata, validatevaluecallback validatevaluecallback);

1

public

static

readonly dependencyproperty isrotateproperty =

2 dependencyproperty.register("

isrotate

", typeof(bool), typeof(xvision2drotate), new propertymetadata(false));

public propertymetadata(object

defaultvalue);

public propertymetadata(object defaultvalue, propertychangedcallback propertychangedcallback, coercevaluecallback coercevaluecallback);

五、屬性value更改後,發生校正的流程:

六、依賴屬性的使用

(1)在xvision2drotate.xaml中可將isrotate作為binding源:

visibility="}"
(2)當xvision2drotate.xaml作為usercontrol嵌入到mainwindow.xaml時,可將isrotate作為binding目標,這裡就體現到依賴屬性的作用啦:

<

local:xvision2drotate

isrotate

="}"

>

效果:這樣我們就可以在mainwindow.xaml中隨意給isrotate賦值了,這裡是繫結了乙個普通屬性text。isrotate值發生變化後,會觸發xvision2drotate中一系列的value校正,校正完成後的object賦值給visibility。

WPF 依賴屬性

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

WPF依賴屬性

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

依賴屬性 DependencyProperty

解決的問題 乙個控制項可能有幾百個clr屬性,如果每個clr屬性都是包裝乙個字段,那麼這個控制項耗費的記憶體太大了。依賴屬性就是解決這個問題的。如何解決這個問題 使控制項的clr屬性不是包裝字段,而是包裝乙個dependencyproperty,並且這個dependencyproperty的記憶體不...