WPF學習筆記 xaml屬性介紹

2021-04-30 04:02:04 字數 1171 閱讀 6006

一、dependency屬性

dependency屬性最大的特點就是內建的變化通知功能。

提供dependency屬性功能主要是為了直接在宣告標記的時候就提供豐富的功能。wpf宣告的友好設計的關鍵是大量的使用屬性。如果沒有dependency屬性,我們將編寫大量的**來實現屬性所展示的功能。

1、變化通知功能:屬性的值被改變後,通知介面進行更新。

2、屬性值的繼承功能:子元素將繼承父元素中對應屬性名的值。

3、支援多個提供物件:我們可以通過多種方式來設定dependency屬性的值。

先看乙個例子:

public class button : buttonbase

// 申名了乙個dependency靜態屬性

public static readonly dependencyproperty isdefaultproperty;

static button()

// 註冊這個屬性到button中

button.isdefaultproperty = dependencyproperty.register(「isdefault」,  typeof(bool), typeof(button),

new frameworkpropertymetadata(false,

new propertychangedcallback(onisdefaultchanged)));

// 屬性預設

public bool isdefault

get

set

//屬性改變的時候要呼叫的方法

private static void onisdefaultchanged(

dependencyobject o, dependencypropertychangedeventargs e)

在上面的實現**中,system.windows.dependencyproperty類表示的靜態欄位isdefaultproperty才是真正 的dependency屬性。為了方便,所有的dependency屬性都是公有、靜態的,並且還有屬性字尾。通常建立dependency屬性可用靜態 方法dependencyproperty.register。引數的屬性名稱、型別、使用這個屬性的類。並且可以根據過載的方法提供其他的通知事件處理和預設值等等。

待續............

WPF的XAML依賴屬性

屬性分三種,基本屬性 附加屬性和依賴屬性。屬性有四種使用方式,第一種是使用屬性語法,每個屬性對應乙個屬性值,屬性值型別必須與屬性匹配 乙個標記中可以設定物件的多個屬性,只有例項化物件才可以設定例項屬性 第二種是使用屬性元素語法,某些屬性可以使用屬性元素語法來設定 第三種是使用內容元素語法,某些元素的...

WPF學習筆記 在XAML裡繫結

binding除了預設建構函式外,還有乙個可以傳入path的建構函式,下面兩種方式實現的功能是一樣的。text backgroud aliceblue fontsize 16 text backgroud aliceblue fontsize 16 這裡使用elementname來設定源物件,而沒有...

學習WPF 了解WPF中的XAML

xaml的簡單說明 xaml是用於例項化.net物件的標記語言,主要用於構建wpf的使用者介面 xaml中的每乙個元素都對映為.net類的乙個例項,例如對映為wpf的button物件 xaml可以在乙個元素中巢狀另乙個元素,例如grid元素可以巢狀button元素 了解xaml visualstud...