Freigeben über


DependencyProperty.AddOwner Methode

Definition

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

Überlädt

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.

AddOwner(Type)

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

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType);
public System.Windows.DependencyProperty AddOwner (Type ownerType);
member this.AddOwner : Type -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type) As DependencyProperty

Parameter

ownerType
Type

Der Typ, der als ein Besitzer dieser Abhängigkeitseigenschaft hinzugefügt werden soll.

Gibt zurück

Ein Verweis auf den ursprünglichen DependencyProperty-Bezeichner, der die Abhängigkeitseigenschaft angibt. Dieser Bezeichner sollte von der hinzufügenden Klasse als public static readonly-Feld verfügbar gemacht werden.

Hinweise

Diese Methode ermöglicht es dem Eigenschaftensystem, eine Abhängigkeitseigenschaft für einen Typ zu erkennen, der diese bestimmte Abhängigkeitseigenschaft anfänglich nicht registriert hat.

Wird in der Regel verwendet, um Abhängigkeitseigenschaften zu Klassen hinzuzufügen, AddOwner die diese Abhängigkeitseigenschaft nicht bereits über die Vererbung einer verwalteten Klasse verfügbar machen (Die Klassenvererbung würde dazu führen, dass die Wrappereigenschaften von der abgeleiteten Klasse geerbt werden und somit bereits allgemeinen Membertabellenzugriff auf die Abhängigkeitseigenschaft bieten würde). AddOwner ermöglicht es dem Eigenschaftensystem, eine Abhängigkeitseigenschaft für einen Typ zu erkennen, der diese Abhängigkeitseigenschaft anfänglich nicht registriert hat.

Diese Signatur lässt die Angabe von Metadaten nicht zu. Wenn Sie diese Methode verwenden, werden die Metadaten automatisch für den neuen DependencyProperty typ und den zugehörigen Besitzertyp generiert. Die automatisch generierten Metadaten sind das Ergebnis der zusammengeführten Metadaten aus allen Basistypen, die diese Eigenschaft definiert haben. Wenn keine zusammengeführten Metadaten verfügbar sind, werden die Standardmetadaten für die Eigenschaft verwendet. Wenn die Eigenschaft mithilfe der RegisterAttached -Methode registriert wird, sind die Standardmetadaten identisch mit den Metadaten, die beim RegisterAttached Aufruf erstellt werden. Andernfalls wird das PropertyMetadata -Objekt mit der DefaultValue -Eigenschaft erstellt, die auf den Standardwert des Eigenschaftentyps festgelegt ist, und alle anderen Eigenschaften von PropertyMetadata sind auf nullfestgelegt. Verwenden Sie die AddOwner(Type, PropertyMetadata) Signatur, wenn Sie Metadaten für die Version der Abhängigkeitseigenschaft bereitstellen möchten, wie sie dem angegebenen Typ hinzugefügt wurde.

Der Rückgabewert dieser Methode wird in der Regel verwendet, um die Abhängigkeitseigenschaft zu deklarieren und verfügbar zu machen, indem ein Abhängigkeitseigenschaftsbezeichner gespeichert wird. Der Bezeichner bietet Zugriff auf die Abhängigkeitseigenschaft, wenn Sie Eigenschaftensystem-APIs für die Abhängigkeitseigenschaft aufrufen möchten, insbesondere da sie in der hinzufügenden Besitzerklasse vorhanden ist. Derselbe Eigenschaftsname für den ursprünglichen besitzer und den hinzugefügten Besitzer sollte verwendet werden, um die ähnliche Funktionalität anzugeben. Sie sollten den DependencyProperty Rückgabewert der AddOwner -Methode verwenden, um den Bezeichner der Abhängigkeitseigenschaft zu definieren und auch CLR-Eigenschaftswrapper für Abhängigkeitseigenschaften zu deklarieren, die Typen mithilfe von AddOwnerhinzugefügt werden.

Die AddOwner oben empfohlene Methodik wird beim Erstellen der Abhängigkeitseigenschaften verwendet, die in WPF deklariert werden. Für instance definieren sowohl als Control auch Border eine BorderBrush Abhängigkeitseigenschaft, die über ähnliche Funktionen verfügt. Controldefiniert die BorderBrush -Eigenschaft für das Eigenschaftensystem, indem basierend auf dem ursprünglichen Besitzer Border und dem registrierten BorderBrushProperty Identifer der Abhängigkeitseigenschaft aufgerufen AddOwner wird. Der AddOwner Rückgabewert wird dann verwendet, um ein neues statisches DependencyProperty Feld (BorderBrushProperty) für diese Eigenschaft auf dem hinzugefügten Besitzer einzurichten, und ein BorderBrush Eigenschaftenwrapper wird ebenfalls deklariert.

Gilt für:

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.

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public System.Windows.DependencyProperty AddOwner (Type ownerType, System.Windows.PropertyMetadata typeMetadata);
member this.AddOwner : Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type, typeMetadata As PropertyMetadata) As DependencyProperty

Parameter

ownerType
Type

Der Typ, der als Besitzer dieser Abhängigkeitseigenschaft hinzugefügt werden soll.

typeMetadata
PropertyMetadata

Die Metadaten, die die Abhängigkeitseigenschaft beschreiben, wie sie für den bereitgestellten Typ vorhanden sind.

Gibt zurück

Ein Verweis auf den ursprünglichen DependencyProperty-Bezeichner, der die Abhängigkeitseigenschaft angibt. Dieser Bezeichner sollte von der hinzufügenden Klasse als public static readonly-Feld verfügbar gemacht werden.

Hinweise

Diese Methode ermöglicht es dem Eigenschaftensystem, eine Abhängigkeitseigenschaft für einen Typ zu erkennen, der diese bestimmte Abhängigkeitseigenschaft anfänglich nicht registriert hat.

Der Rückgabewert dieser Methode wird verwendet, um die Abhängigkeitseigenschaft zu deklarieren und verfügbar zu machen, insbesondere da sie in der hinzufügenden Besitzerklasse vorhanden ist. Im Allgemeinen sollte derselbe Eigenschaftsname sowohl für den ursprünglichen als auch für den hinzugefügten Besitzer verwendet werden, um die ähnliche Funktionalität anzugeben. Es empfiehlt sich, die Bezeichner sowie neue CLR-Eigenschaftswrapper für Abhängigkeitseigenschaften verfügbar zu machen, die Typen mithilfe von AddOwnerhinzugefügt werden.

Die AddOwner oben empfohlene Methodik wird beim Erstellen von APIs verwendet, die in WPF deklariert wurden. Für instance definieren sowohl als Control auch Border eine BorderBrush Abhängigkeitseigenschaft, die über ähnliche Funktionen verfügt. Controldefiniert die BorderBrush -Eigenschaft für das Eigenschaftensystem, indem für den ursprünglichen Besitzer Border und den Identifer der registrierten BorderBrushProperty Abhängigkeitseigenschaft aufgerufen AddOwner wird. Der AddOwner Rückgabewert wird dann verwendet, um ein statisches DependencyProperty Feld (BorderBrushProperty) für diese Eigenschaft auf dem hinzugefügten Besitzer einzurichten, und ein BorderBrush Eigenschaftenwrapper wird ebenfalls deklariert.

Der abhängigkeitseigenschaftsbezeichner des hinzugefügten Besitzers sollte für Vorgänge wie GetValueverwendet werden. Typspezifische Vorgänge, die entweder Typen oder Instanzen der Klasse betreffen, die als Besitzer mit unterschiedlichen Metadaten hinzugefügt wurden, geben jedoch weiterhin die erwarteten Ergebnisse zurück. Dies gilt auch dann, wenn der ursprüngliche (nicht der des hinzugefügten Besitzers) Abhängigkeitseigenschaftsbezeichner in Aufrufen von Methoden wie GetValue oder GetMetadataangegeben wird. Die Metadaten für den hinzugefügten Besitzer werden durch den AddOwner Aufruf selbst beibehalten, nicht notwendigerweise ausschließlich durch das Hinzufügen des Besitzerklassenbezeichnerfelds. Dennoch empfiehlt es sich, den Bezeichner sowie neue CLR-Eigenschaftswrapper für Abhängigkeitseigenschaften verfügbar zu machen, die Typen mithilfe AddOwnervon hinzugefügt werden, da andernfalls Unterschiede zwischen clr- und XAML-Darstellungen Ihrer Eigenschaften entstehen.

Die angegebenen Metadaten werden mit den Eigenschaftsmetadaten für die Abhängigkeitseigenschaft zusammengeführt, wie sie auf dem Basisbesitzer vorhanden sind. Alle Merkmale, die in den ursprünglichen Basismetadaten angegeben wurden, bleiben erhalten. Nur die Merkmale, die in den neuen Metadaten speziell geändert wurden, überschreiben die Merkmale der Basismetadaten. Einige Merkmale, z DefaultValue. B. , werden ersetzt, wenn sie in den neuen Metadaten angegeben sind. Andere, z PropertyChangedCallback. B. , werden kombiniert. Letztendlich hängt das Mergeverhalten davon ab, wie der Eigenschaftsmetadatentyp für die Außerkraftsetzung verwendet wird, sodass das hier beschriebene Verhalten für die vorhandenen Eigenschaftenmetadatenklassen gilt, die von WPF-Abhängigkeitseigenschaften verwendet werden. Weitere Informationen finden Sie unter Metadaten für Abhängigkeitseigenschaften und Framework-Eigenschaftenmetadaten.

Gilt für: