DependencyProperty 類別

定義

代表可以透過方法設定的屬性,例如樣式、資料繫結、動畫和繼承。

public ref class DependencyProperty sealed
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
Public NotInheritable Class DependencyProperty
繼承
DependencyProperty
屬性

備註

DependencyProperty支援下列Windows Presentation Foundation (WPF) 功能:

  • 屬性可以在樣式中設定。 如需詳細資訊,請參閱 樣式設定和範本化

  • 屬性可以透過資料系結來設定。 如需資料系結相依性屬性的詳細資訊,請參閱 如何:系結兩個控制項的屬性

  • 屬性可以使用動態資源參考來設定。 如需詳細資訊,請參閱 XAML 資源

  • 屬性可以從專案樹狀結構中的父元素自動繼承其值。 如需詳細資訊,請參閱屬性值繼承

  • 屬性可以產生動畫效果。 如需詳細資訊,請參閱 動畫概觀

  • 屬性可以報告屬性先前的值已變更,而且屬性值可以強制轉型。 如需詳細資訊,請參閱相依性屬性回呼和驗證

  • 屬性會將資訊報告給 WPF,例如變更屬性值是否應該要求配置系統重新編譯元素的視覺效果。

  • 屬性會在 WPF Designer for Visual Studio 中收到支援。 例如,屬性可以在 [ 屬性 ] 視窗中編輯。

若要深入瞭解相依性屬性,請參閱 相依性屬性概觀。 如果您想要自訂類型的屬性支援上述清單中的功能,您應該建立相依性屬性。 若要瞭解如何建立自訂相依性屬性,請參閱 自訂相依性屬性

附加屬性是屬性,可讓任何物件向定義附加屬性的類型報告資訊。 在 WPF 中,任何繼承自 DependencyObject 的類型都可以使用附加屬性,而不論類型是否繼承自訂屬性的類型。 附加屬性是 XAML 語言的功能。 若要在 XAML 中設定附加屬性,請使用 ownerTypepropertyName 語法。 附加屬性的範例是 DockPanel.Dock 屬性。 如果您想要建立可用於所有 DependencyObject 類型的屬性,則應該建立附加屬性。 若要深入瞭解附加屬性,包括如何建立它們,請參閱 附加屬性概觀

XAML Attribute Usage

<object property="dependencyPropertyName"/>  

-或-

<object property="ownerType.dependencyPropertyName"/>  

-或-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

XAML 值

dependencyPropertyName
指定所需相依性屬性之 的字串 DependencyProperty.Name 。 如果屬性不在預設 XML 命名空間 (中,則可以先加上 XML 命名空間前置詞,如需詳細資訊,請參閱 WPF XAML 的 XAML 命名空間和命名空間對應。)

ownerType.dependencyPropertyName
字串,指定相依性屬性的擁有者類型、點 (.) ,然後指定 DependencyProperty.NameownerType 也可以前面加上 XML 命名空間前置詞。 此用法特別適用于晚期繫結樣式和範本,其中必須指定相依性屬性的擁有者來剖析內容,因為 TargetType 尚未知道 。 如需詳細資訊,請參閱 樣式設定和範本化

attachedPropertyOwnerType . attachedPropertyName
字串,指定附加屬性的擁有者、點 (.) ,然後指定附加屬性名稱。 attachedPropertyOwnerType 也可以前面加上 XML 命名空間前置詞。

欄位

UnsetValue

指定 WPF 屬性系統所使用的靜態值,而不是 null 表示屬性存在,但屬性系統未設定其值。

屬性

DefaultMetadata

取得相依性屬性的預設中繼資料。

GlobalIndex

取得可唯一識別相依性屬性的內部產生值。

Name

取得相依性屬性的名稱。

OwnerType

取得對屬性系統註冊相依性屬性之物件,或將本身作為屬性擁有者加入之物件的類型。

PropertyType

取得相依性屬性用於其值的型別。

ReadOnly

取得值,這個值表示此 DependencyProperty 執行個體所識別的相依性屬性是否為唯讀相依性屬性。

ValidateValueCallback

取得相依性屬性的值驗證回呼。

方法

AddOwner(Type)

加入其他類型,作為已註冊之相依性屬性的擁有者。

AddOwner(Type, PropertyMetadata)

加入另一個類型作為已註冊的相依性屬性的擁有者,並提供在所提供擁有者類型上存在之相依性屬性的相依性屬性中繼資料。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

傳回這個 DependencyProperty 的雜湊碼。

GetMetadata(DependencyObject)

傳回這個相依性屬性的中繼資料,因為這個屬性位於指定的物件執行個體。

GetMetadata(DependencyObjectType)

傳回存在於所指定類型之這個相依性屬性的中繼資料。

GetMetadata(Type)

傳回這個相依性屬性的中繼資料,因為這個屬性位於指定的現有類型。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsValidType(Object)

根據原始相依性屬性註冊所提供的屬性型別檢查這個相依性屬性的型別,判斷此型別是否接受指定的值。

IsValidValue(Object)

透過基本型別檢查,判斷屬性型別是否接受所提供的值,並在必要時判斷此值是否位於該型別的允許值範圍內。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OverrideMetadata(Type, PropertyMetadata)

當這個相依性屬性出現在所指定類型的執行個體中時,指定其替代中繼資料,並覆寫從基底類型繼承時存在的相依性屬性中繼資料。

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

當它出現在所指定類型的執行個體,覆寫在初始相依性屬性登錄中所提供的中繼資料時,提供唯讀相依性屬性的替代中繼資料。 您必須傳遞唯讀相依性屬性的 DependencyPropertyKey,以避免引發例外狀況。

Register(String, Type, Type)

使用指定的屬性名稱、屬性類型和擁有者類型以註冊相依性屬性。

Register(String, Type, Type, PropertyMetadata)

請使用指定的屬性名稱、屬性類型、擁有者類型和屬性中繼資料登錄相依性屬性。

Register(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用指定的屬性名稱、屬性類型、擁有者類型、屬性中繼資料和屬性的值驗證回呼,註冊相依性屬性。

RegisterAttached(String, Type, Type)

使用指定的屬性名稱、屬性類型和擁有者類型以註冊附加屬性。

RegisterAttached(String, Type, Type, PropertyMetadata)

請使用指定的屬性名稱、屬性類型、擁有者類型和屬性中繼資料登錄附加的屬性。

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用指定的屬性類型、擁有者類型、屬性中繼資料以及屬性的值驗證回呼,註冊附加屬性。

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

註冊具有指定屬性類型、擁有者類型和屬性中繼資料的唯讀附加屬性。

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用指定的屬性類型、擁有者類型、屬性中繼資料和驗證回呼,註冊一個唯讀附加屬性。

RegisterReadOnly(String, Type, Type, PropertyMetadata)

使用指定的屬性類型、擁有者類型和屬性中繼資料登錄唯讀相依性屬性。

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用指定的屬性類型、擁有者類型、屬性中繼資料和驗證回呼登錄唯讀相依性屬性。

ToString()

傳回相依性屬性的字串表示。

適用於

另請參閱