DependencyProperty.Register Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Registriert eine Abhängigkeitseigenschaft mit dem angegebenen Eigenschaftennamen, Eigenschaftentyp, Besitzertyp und Eigenschaftenmetadaten für die Eigenschaft. Verwenden Sie diese Methode, wenn Sie eine abgeleitete DependencyObject-Klasse definieren oder initialisieren, die die registrierte Abhängigkeitseigenschaft besitzt.
static DependencyProperty Register(winrt::hstring const& name, TypeName const& propertyType, TypeName const& ownerType, PropertyMetadata const& typeMetadata);
public static DependencyProperty Register(string name, System.Type propertyType, System.Type ownerType, PropertyMetadata typeMetadata);
function register(name, propertyType, ownerType, typeMetadata)
Public Shared Function Register (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata) As DependencyProperty
Parameter
- name
-
String
winrt::hstring
Der Name der zu registrierenden Abhängigkeitseigenschaft.
Der Typ der Eigenschaft als Typverweis (System.Type für Microsoft .NET, eine TypeName-Hilfsstruktur für Visual C++-Komponentenerweiterungen (C++/CX)).
Der Besitzertyp, der die Abhängigkeitseigenschaft als Typverweis registriert (System.Type für Microsoft .NET, eine TypeName-Hilfsstruktur für Visual C++-Komponentenerweiterungen (C++/CX)).
- typeMetadata
- PropertyMetadata
Eine eigenschaftsmetadaten-instance. Dies kann einen Standardwert und einen PropertyChangedCallback-Implementierungsverweis enthalten. Das Übergeben null
für diesen Parameter entspricht der Übergabe eines neuen PropertyMetadata-instance, der durch Aufrufen von PropertyMetadata.Create mit null
als Standardwertparameter erstellt wird.
Gibt zurück
Ein Abhängigkeitseigenschaftsbezeichner, der in der Regel in einem öffentlichen statischen schreibgeschützten Feld in Ihrer abgeleiteten DependencyObject-Klasse gespeichert wird. Der Bezeichner wird dann sowohl von Ihrem eigenen Code als auch von Drittanbieterbenutzercode verwendet, um später auf die Abhängigkeitseigenschaft zu verweisen, z. B. für Vorgänge wie das programmgesteuerte Festlegen des Werts oder das Anfügen einer Bindung im Code.
Hinweise
Das Registrieren einer benutzerdefinierten Abhängigkeitseigenschaft wird ausführlich (mit Beispielen) im Thema Benutzerdefinierte Abhängigkeitseigenschaften beschrieben.
Das Registrieren einer Abhängigkeitseigenschaft ist in der Regel etwas, das Sie nur tun, wenn eine App zum ersten Mal gestartet wird oder von DependencyObject abgeleitete Klassen verwendet werden, die von Ihrem App-Code definiert werden. Sie müssen die Abhängigkeitseigenschaften frühzeitig in der App-Lebensdauer registrieren, um sicherzustellen, dass anderer Code und XAML in Ihrer App nicht versuchen, die Abhängigkeitseigenschaften zu verwenden, bevor sie registriert und verfügbar sind. Wie und wann genau registriert werden soll, hängt von der Programmiersprache ab. Für C# oder Microsoft Visual Basic ist es üblich, Abhängigkeitseigenschaften während der Initialisierung der statischen Klasse zu registrieren, die die Abhängigkeitseigenschaft besitzt. Auf diese Weise ruft jeder Code oder XAML, der die instance initialisiert, diese statische Konstruktion auf und registriert die Abhängigkeitseigenschaft. Für Visual C++-Komponentenerweiterungen (C++/CX) ist die Initialisierung statischer Klassen keine verfügbare Technik. Daher müssen Sie in der Regel eine appweite Hilfsmethode definieren, die alle benutzerdefinierten Abhängigkeitseigenschaften registriert, die Ihre App verwenden möchte, als Teil der Application-Objektinitialisierung. Beispiele dafür, wie und wann benutzerdefinierte Abhängigkeitseigenschaften registriert werden, einschließlich einiger spezieller Techniken, die für Visual C++-Komponentenerweiterungen (C++/CX) erforderlich sind, finden Sie unter Benutzerdefinierte Abhängigkeitseigenschaften.