DependencyProperty Klasse

Definition

Stellt eine Eigenschaft dar, die durch Methoden festgelegt werden kann, z. B. Formatierung, Datenbindung, Animation und Vererbung.

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
Vererbung
DependencyProperty
Attribute

Hinweise

A DependencyProperty unterstützt die folgenden Funktionen in Windows Presentation Foundation (WPF):

  • Die Eigenschaft kann in einer Formatvorlage festgelegt werden. Weitere Informationen finden Sie unter Erstellen von Formaten und Vorlagen.

  • Die Eigenschaft kann über die Datenbindung festgelegt werden. Weitere Informationen zu Abhängigkeitseigenschaften für die Datenbindung finden Sie unter How to: Bind the Properties of Two Controls.

  • Die Eigenschaft kann mit einem dynamischen Ressourcenverweis festgelegt werden. Weitere Informationen finden Sie unter XAML-Ressourcen.

  • Die Eigenschaft kann den Wert automatisch von einem übergeordneten Element in der Elementstruktur erben. Weitere Informationen finden Sie unter Vererbung von Eigenschaftswerten.

  • Die Eigenschaft kann animiert werden. Weitere Informationen finden Sie unter Übersicht über Animation.

  • Die Eigenschaft kann melden, wenn der vorherige Wert der Eigenschaft geändert wurde und der Eigenschaftswert koerciert werden kann. Weitere Informationen finden Sie unter Rückrufe und Validierung von Abhängigkeitseigenschaften.

  • Die Eigenschaft meldet Informationen an WPF, z. B. ob das Ändern eines Eigenschaftswerts das Layoutsystem erfordert, die visuellen Elemente für ein Element neu zu kompensieren.

  • Die Eigenschaft erhält Unterstützung im WPF-Designer für Visual Studio. Die Eigenschaft kann beispielsweise im Eigenschaftenfenster bearbeitet werden.

Weitere Informationen zu Abhängigkeitseigenschaften finden Sie unter "Übersicht über Abhängigkeitseigenschaften". Wenn Sie möchten, dass Eigenschaften für Ihre benutzerdefinierten Typen die Funktionen in der vorherigen Liste unterstützen, sollten Sie eine Abhängigkeitseigenschaft erstellen. Informationen zum Erstellen benutzerdefinierter Abhängigkeitseigenschaften finden Sie unter Benutzerdefinierte Abhängigkeitseigenschaften.

Eine angefügte Eigenschaft ist eine Eigenschaft, die es jedem Objekt ermöglicht, Informationen an den Typ zu melden, der die angefügte Eigenschaft definiert. In WPF kann jeder Typ, der von einer angefügten Eigenschaft erbt, eine angefügte Eigenschaft verwenden, unabhängig davon, ob der Typ vom Typ erbt DependencyObject , der die Eigenschaft definiert. Eine angefügte Eigenschaft ist ein Feature der XAML-Sprache. Verwenden Sie " ownerType", um eine angefügte Eigenschaft in XAML festzulegen. propertyName-Syntax . Ein Beispiel für eine angefügte Eigenschaft ist die DockPanel.Dock Eigenschaft. Wenn Sie eine Eigenschaft erstellen möchten, die für alle DependencyObject Typen verwendet werden kann, sollten Sie eine angefügte Eigenschaft erstellen. Weitere Informationen zu angefügten Eigenschaften, einschließlich der Erstellung dieser Eigenschaften, finden Sie unter "Übersicht über angefügte Eigenschaften".

Verwendung von XAML-Attributen

<object property="dependencyPropertyName"/>  

- oder -

<object property="ownerType.dependencyPropertyName"/>  

- oder -

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

XAML-Werte

dependencyPropertyName
Eine Zeichenfolge, die die DependencyProperty.Name gewünschte Abhängigkeitseigenschaft angibt. Dies kann einem XML-Namespacepräfix vorangestellt werden, wenn sich die Eigenschaft nicht im Standard-XML-Namespace befindet (ausführliche Informationen finden Sie unter XAML-Namespaces und Namespacezuordnung für WPF XAML.)

ownerType.dependencyPropertyName
Eine Zeichenfolge, die einen Besitzertyp einer Abhängigkeitseigenschaft, einen Punkt (.) angibt, und dann die DependencyProperty.Name. ownerType kann auch einem XML-Namespacepräfix vorangestellt werden. Diese Verwendung ist insbesondere für spätgebundene Formatvorlagen und Vorlagen bestimmt, bei denen der Besitzer der Abhängigkeitseigenschaft für die Analysekontext angegeben werden muss, da dies TargetType noch nicht bekannt ist. Weitere Informationen finden Sie unter Erstellen von Formaten und Vorlagen.

attachedPropertyOwnerType . attachedPropertyName
Eine Zeichenfolge, die den Besitzer einer angefügten Eigenschaft, einen Punkt (.) angibt, und dann den Namen der angefügten Eigenschaft. attachedPropertyOwnerType kann auch einem XML-Namespacepräfix vorangestellt werden.

Felder

UnsetValue

Gibt einen statischen Wert an, der vom WPF-Eigenschaftssystem verwendet wird, anstatt null anzugeben, dass die Eigenschaft vorhanden ist, aber nicht seinen Wert vom Eigenschaftensystem festgelegt hat.

Eigenschaften

DefaultMetadata

Ruft die Standardmetadaten der Abhängigkeitseigenschaft ab.

GlobalIndex

Ruft einen intern generierten Wert ab, der die Abhängigkeitseigenschaft eindeutig identifiziert.

Name

Ruft den Namen der Abhängigkeitseigenschaft ab.

OwnerType

Ruft den Typ des Objekts ab, das die Abhängigkeitseigenschaft im Eigenschaftensystem registriert oder sich selbst als Besitzer der Eigenschaft hinzugefügt hat.

PropertyType

Ruft den Typ ab, den die Abhängigkeitseigenschaft für den Wert verwendet.

ReadOnly

Ruft einen Wert ab, der angibt, ob die von dieser DependencyProperty-Instanz angegebene Abhängigkeitseigenschaft eine schreibgeschützte Abhängigkeitseigenschaft ist.

ValidateValueCallback

Ruft den Wertvalidierungsrückruf für die Abhängigkeitseigenschaft ab.

Methoden

AddOwner(Type)

Fügt einen weiteren Typ als Besitzer einer Abhängigkeitseigenschaft hinzu, die bereits registriert wurde.

AddOwner(Type, PropertyMetadata)

Fügt einen anderen Typ als Besitzer einer Abhängigkeitseigenschaft hinzu, die bereits registriert wurde. Dabei werden Abhängigkeitseigenschaft-Metadaten für die Abhängigkeitseigenschaft bereitgestellt, wie sie für den bereitgestellten Besitzertyp vorhanden sind.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcode für diese DependencyProperty zurück.

GetMetadata(DependencyObject)

Gibt die Metadaten für diese Abhängigkeitseigenschaft zurück, da sie für die angegebene Objektinstanz vorhanden sind.

GetMetadata(DependencyObjectType)

Gibt die Metadaten für diese Abhängigkeitseigenschaft zurück, wie sie für einen angegebenen Typ vorhanden sind.

GetMetadata(Type)

Gibt die Metadaten für diese Abhängigkeitseigenschaft zurück, wie sie für einen angegebenen vorhanden Typ vorhanden sind.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsValidType(Object)

Bestimmt, ob ein angegebener Wert für den Typ dieser Abhängigkeitseigenschaft akzeptiert wird, wie anhand des in der Registrierung der ursprünglichen Abhängigkeitseigenschaft angegebenen Eigenschaftentyps überprüft wurde.

IsValidValue(Object)

Bestimmt, ob der angegebene Wert für den Eigenschaftentyp durch eine einfache Typüberprüfung zulässig ist und ob er sich potenziell im zulässigen Wertebereich für den Typ befindet.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OverrideMetadata(Type, PropertyMetadata)

Gibt alternative Metadaten für diese Abhängigkeitseigenschaft an, wenn sie in Instanzen eines angegebenen Typs vorhanden ist. Dabei werden die Metadaten überschrieben, die für die Abhängigkeitseigenschaft bei der Vererbung von Basistypen vorhanden waren.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Stellt alternative Metadaten für eine schreibgeschützte Abhängigkeitseigenschaft bereit, wenn sie in Instanzen eines angegebenen Typs vorhanden ist, wodurch die Metadaten überschrieben werden, die bei der ersten Registrierung der Abhängigkeitseigenschaft bereitgestellt wurden. Sie müssen die DependencyPropertyKey für die schreibgeschützte Abhängigkeitseigenschaft übergeben, um das Auslösen einer Ausnahme zu vermeiden.

Register(String, Type, Type)

Registriert eine Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftsnamen, Eigenschaftstyp und Besitzertyp.

Register(String, Type, Type, PropertyMetadata)

Registriert eine Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftsnamen, Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftsmetadaten.

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

Registriert eine Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftsnamen, Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und einem angegebenen Wertvalidierungsrückruf für die Eigenschaft.

RegisterAttached(String, Type, Type)

Registriert eine angefügte Eigenschaft mit dem angegebenen Eigenschaftsnamen, Eigenschaftstyp und Besitzertyp.

RegisterAttached(String, Type, Type, PropertyMetadata)

Registriert eine angefügte Eigenschaft mit dem angegebenen Eigenschaftsnamen, Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftenmetadaten.

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

Registriert eine angefügte Eigenschaft mit dem angegebenen Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und dem angegebenen Wertvalidierungsrückruf für die Eigenschaft.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registriert eine schreibgeschützte angefügte Eigenschaft mit dem angegebenen Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftsmetadaten.

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

Registriert eine schreibgeschützte Eigenschaft mit dem angegebenen Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und einem Validierungsrückruf.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Registriert eine schreibgeschützte Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftsmetadaten.

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

Registriert eine schreibgeschützte Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und einem Validierungsrückruf.

ToString()

Gibt die Zeichenfolgendarstellung der Abhängigkeitseigenschaft zurück.

Gilt für

Siehe auch