DependencyProperty.RegisterAttachedReadOnly Methode

Definition

Registriert eine schreibgeschützte angefügte Eigenschaft.

Überlädt

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.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

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

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyPropertyKey

Parameter

name
String

Der Name der zu registrierenden Abhängigkeitseigenschaft.

propertyType
Type

Den Typ der Eigenschaft.

ownerType
Type

Der Besitzertyp, von dem die Abhängigkeitseigenschaft registriert wird.

defaultMetadata
PropertyMetadata

Eigenschaftsmetadaten für die Abhängigkeitseigenschaft.

Gibt zurück

DependencyPropertyKey

Ein Schlüssel für eine Abhängigkeitseigenschaft, der zum Festlegen des Werts für ein statisches schreibgeschütztes Feld in der Klasse verwendet werden sollte. Mit diesem wird dann später auf die Abhängigkeitseigenschaft verwiesen.

Hinweise

Diese Methode gibt den Typ zurück, während RegisterAttached der Typ DependencyPropertyDependencyPropertyKeyzurückgegeben wird. In der Regel werden die Schlüssel, die schreibgeschützte Eigenschaften darstellen, nicht öffentlich gemacht, da die Schlüssel verwendet werden können, um den Wert der Abhängigkeitseigenschaft durch Aufrufen SetValue(DependencyPropertyKey, Object)festzulegen. Ihr Klassenentwurf wirkt sich auf Ihre Anforderungen aus, es wird jedoch im Allgemeinen empfohlen, den Zugriff und die Sichtbarkeit aller DependencyPropertyKey Teile des Codes zu beschränken, die erforderlich sind, um diese Abhängigkeitseigenschaft als Teil der Klassen- oder Anwendungslogik festzulegen. Es wird auch empfohlen, einen Abhängigkeitseigenschaftsbezeichner für die schreibgeschützte Abhängigkeitseigenschaft verfügbar zu machen, indem Sie den Wert als DependencyPropertyKey.DependencyProperty public static readonly Feld in Ihrer Klasse verfügbar machen.

Schreibgeschützte angefügte Eigenschaften sind ein seltenes Szenario, da das primäre Szenario für eine angefügte Eigenschaft die Verwendung in XAML ist. Ohne einen öffentlichen Setter kann eine angefügte Eigenschaft nicht in der XAML-Syntax festgelegt werden.

Weitere Informationen zur Registrierung von Abhängigkeitseigenschaften finden Sie unter DependencyProperty.

Verwenden von RegisterAttached für abhängigkeitsvererbende Eigenschaften

Ein bestimmtes Szenario zum Registrieren einer Abhängigkeitseigenschaft wie angefügt ist die Unterstützung der Eigenschaftswertvererbung. Sie sollten abhängigkeitsvererbende Eigenschaften registrieren, RegisterAttached auch wenn die Klasse Eigenschaftenwrapper-Accessoren definiert, die die Abhängigkeitseigenschaft verfügbar machen, und auch wenn Sie nicht beabsichtigen, Get* und Set* statische Methoden bereitzustellen, um Zugriffszugriff auf true angefügte Eigenschaften bereitzustellen. Obwohl die Eigenschaftswertvererbung möglicherweise für nicht angefügte Abhängigkeitseigenschaften funktioniert, ist das Vererbungsverhalten für eine nicht angefügte Eigenschaft über bestimmte Elementgrenzen in der Laufzeitstruktur nicht definiert. Das Registrieren der Eigenschaft als angefügte Eigenschaft macht die angefügte Eigenschaft effektiv zu einer globalen Eigenschaft an das Eigenschaftssystem und stellt sicher, dass die Vererbung von Eigenschaftswert über alle Grenzen in einer Elementstruktur hinweg funktioniert. Verwenden Sie immer RegisterAttached, um Eigenschaften zu registrieren, bei denen Sie Inherits in den Metadaten angeben. Weitere Informationen finden Sie unter Vererbung von Eigenschaftswerten.

Gilt für

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

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

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey

Parameter

name
String

Der Name der zu registrierenden Abhängigkeitseigenschaft.

propertyType
Type

Den Typ der Eigenschaft.

ownerType
Type

Der Besitzertyp, von dem die Abhängigkeitseigenschaft registriert wird.

defaultMetadata
PropertyMetadata

Eigenschaftsmetadaten für die Abhängigkeitseigenschaft.

validateValueCallback
ValidateValueCallback

Ein Verweis auf einen benutzerdefinierten Rückruf, der eine beliebige benutzerdefinierte Validierung des Werts der Abhängigkeitseigenschaft über die normale Validierung hinaus durchführen soll.

Gibt zurück

DependencyPropertyKey

Ein Abhängigkeitseigenschaftsschlüssel, der dazu verwendet werden soll, den Wert eines statischen schreibgeschützten Felds in Ihrer Klasse festzulegen, die dann dazu verwendet wird, auf die Abhängigkeitseigenschaft zu verweisen.

Hinweise

Diese Methode gibt den Typ DependencyPropertyKeyzurück, während RegisterAttached der Typ DependencyPropertyzurückgegeben wird. In der Regel sind die Schlüssel, die den Typ DependencyPropertydarstellen. In der Regel werden die Schlüssel, die schreibgeschützte Eigenschaften darstellen, nicht öffentlich gemacht, da die Schlüssel verwendet werden können, um den Wert der Abhängigkeitseigenschaft durch Aufrufen SetValue(DependencyPropertyKey, Object)festzulegen. Ihr Klassenentwurf wirkt sich auf Ihre Anforderungen aus, es wird jedoch im Allgemeinen empfohlen, den Zugriff und die Sichtbarkeit aller DependencyPropertyKey Teile des Codes zu beschränken, die erforderlich sind, um diese Abhängigkeitseigenschaft als Teil der Klassen- oder Anwendungslogik festzulegen. Es wird auch empfohlen, einen Abhängigkeitseigenschaftsbezeichner für die schreibgeschützte Abhängigkeitseigenschaft verfügbar zu machen, indem Sie den Wert als DependencyPropertyKey.DependencyProperty public static readonly Feld in Ihrer Klasse verfügbar machen.

Schreibgeschützte angefügte Eigenschaften sind ein seltenes Szenario, da das primäre Szenario für eine angefügte Eigenschaft die Verwendung in XAML ist. Ohne einen öffentlichen Setter kann eine angefügte Eigenschaft nicht in der XAML-Syntax festgelegt werden.

Weitere Informationen zur Registrierung von Abhängigkeitseigenschaften finden Sie unter DependencyProperty.

Verwenden von RegisterAttached für abhängigkeitsvererbende Eigenschaften

Ein bestimmtes Szenario für die Registrierung einer Abhängigkeitseigenschaft als angefügt anstelle davon Register besteht darin, die Eigenschaftswertvererbung zu unterstützen. Sie sollten abhängigkeitsvererbende Eigenschaften registrieren, RegisterAttached auch wenn die Klasse Eigenschaftenwrapper-Accessoren definiert, die die Abhängigkeitseigenschaft verfügbar machen, und auch wenn Sie nicht beabsichtigen, Get* und Set* statische Methoden bereitzustellen, um Zugriffszugriff auf true angefügte Eigenschaften bereitzustellen. Obwohl die Eigenschaftswertvererbung möglicherweise für nicht angefügte Abhängigkeitseigenschaften funktioniert, ist das Vererbungsverhalten für eine nicht angefügte Eigenschaft über bestimmte Elementgrenzen in der Laufzeitstruktur nicht definiert. Das Registrieren der Eigenschaft als angefügte Eigenschaft macht die angefügte Eigenschaft effektiv zu einer globalen Eigenschaft an das Eigenschaftssystem und stellt sicher, dass die Vererbung von Eigenschaftswert über alle Grenzen in einer Elementstruktur hinweg funktioniert. Verwenden Sie immer RegisterAttached, um Eigenschaften zu registrieren, bei denen Sie Inherits in den Metadaten angeben. Weitere Informationen finden Sie unter Vererbung von Eigenschaftswerten.

Gilt für