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 DependencyPropertyKeyzurück, während RegisterAttached der Typ DependencyPropertyzurü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 Abhängigkeitseigenschaftswert durch Aufrufen SetValue(DependencyPropertyKey, Object)festzulegen. Ihr Klassendesign wirkt sich auf Ihre Anforderungen aus, aber es wird im Allgemeinen empfohlen, den Zugriff und die Sichtbarkeit DependencyPropertyKey von nur diesen Teilen Ihres Codes zu beschränken, die erforderlich sind, um diese Abhängigkeitseigenschaft als Teil der Klassen- oder Anwendungslogik festzulegen. Außerdem wird empfohlen, dass Sie einen Abhängigkeitseigenschaftsbezeichner für die schreibgeschützte Abhängigkeitseigenschaft verfügbar machen, indem Sie den Wert DependencyPropertyKey.DependencyProperty als public static readonly Feld in Ihrer Klasse anzeigen.

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 keine angefügte Eigenschaft in der XAML-Syntax festgelegt werden.

Weitere Informationen zur Abhängigkeitseigenschaftsregistrierung finden Sie unter DependencyProperty.

Verwenden von RegisterAttached für wertererbende Abhängigkeitseigenschaften

Ein bestimmtes Szenario zum Registrieren einer Abhängigkeitseigenschaft wie angefügt ist die Unterstützung der Eigenschaftswertvererbung. Sie sollten Abhängigkeitseigenschaften mit wertererbenden Eigenschaften RegisterAttached registrieren, auch wenn die Klasse Eigenschaftenumbruchzugriffer definiert, die die Abhängigkeitseigenschaft verfügbar machen, und auch wenn Sie nicht beabsichtigen, Get* und Set* statische Methoden zur Bereitstellung von true angefügten Eigenschaftsunterstützungszugriffern bereitzustellen. Obwohl die Eigenschaftswertvererbung möglicherweise für nicht angefügte Abhängigkeitseigenschaften funktioniert, ist das Vererbungsverhalten für eine nicht angehaltene Eigenschaft durch bestimmte Elementgrenzen in der Laufzeitstruktur nicht definiert. Das Registrieren der Eigenschaft als angefügte Eigenschaft macht die angefügte Eigenschaft eine globale Eigenschaft im Eigenschaftssystem und stellt sicher, dass die Vererbung des Eigenschaftenwerts über alle Grenzen in einer Elementstruktur 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 zurück, während RegisterAttached der Typ DependencyPropertyDependencyPropertyKeyzurü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 Abhängigkeitseigenschaftswert durch Aufrufen SetValue(DependencyPropertyKey, Object)festzulegen. Ihr Klassendesign wirkt sich auf Ihre Anforderungen aus, aber es wird im Allgemeinen empfohlen, den Zugriff und die Sichtbarkeit DependencyPropertyKey von nur diesen Teilen Ihres Codes zu beschränken, die erforderlich sind, um diese Abhängigkeitseigenschaft als Teil der Klassen- oder Anwendungslogik festzulegen. Außerdem wird empfohlen, dass Sie einen Abhängigkeitseigenschaftsbezeichner für die schreibgeschützte Abhängigkeitseigenschaft verfügbar machen, indem Sie den Wert DependencyPropertyKey.DependencyProperty als public static readonly Feld in Ihrer Klasse anzeigen.

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 keine angefügte Eigenschaft in der XAML-Syntax festgelegt werden.

Weitere Informationen zur Abhängigkeitseigenschaftsregistrierung finden Sie unter DependencyProperty.

Verwenden von RegisterAttached für wertererbende Abhängigkeitseigenschaften

Ein bestimmtes Szenario zum Registrieren einer Abhängigkeitseigenschaft anstelle der Register angefügten Eigenschaft besteht darin, die Eigenschaftswertvererbung zu unterstützen. Sie sollten Abhängigkeitseigenschaften mit wertererbenden Eigenschaften RegisterAttached registrieren, auch wenn die Klasse Eigenschaftenumbruchzugriffer definiert, die die Abhängigkeitseigenschaft verfügbar machen, und auch wenn Sie nicht beabsichtigen, Get* und Set* statische Methoden zur Bereitstellung von true angefügten Eigenschaftsunterstützungszugriffern bereitzustellen. Obwohl die Eigenschaftswertvererbung möglicherweise für nicht angefügte Abhängigkeitseigenschaften funktioniert, ist das Vererbungsverhalten für eine nicht angehaltene Eigenschaft durch bestimmte Elementgrenzen in der Laufzeitstruktur nicht definiert. Das Registrieren der Eigenschaft als angefügte Eigenschaft macht die angefügte Eigenschaft eine globale Eigenschaft im Eigenschaftssystem und stellt sicher, dass die Vererbung des Eigenschaftenwerts über alle Grenzen in einer Elementstruktur 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: