DependencyProperty.RegisterAttachedReadOnly DependencyProperty.RegisterAttachedReadOnly DependencyProperty.RegisterAttachedReadOnly DependencyProperty.RegisterAttachedReadOnly Method

Definition

Registriert eine schreibgeschützte angefügte Eigenschaft.Registers a read-only attached property.

Überlädt

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

Registriert eine schreibgeschützte angefügte Eigenschaft mit dem angegebenen Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftsmetadaten.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

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

Registriert eine schreibgeschützte Eigenschaft mit dem angegebenen Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und einem Validierungsrückruf.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

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

Registriert eine schreibgeschützte angefügte Eigenschaft mit dem angegebenen Eigenschaftstyp und Besitzertyp sowie den angegebenen Eigenschaftsmetadaten.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

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 String String String

Der Name der zu registrierenden Abhängigkeitseigenschaft.The name of the dependency property to register.

propertyType
Type Type Type Type

Den Typ der Eigenschaft.The type of the property.

ownerType
Type Type Type Type

Der Besitzertyp, von dem die Abhängigkeitseigenschaft registriert wird.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

Eigenschaftenmetadaten für die Abhängigkeitseigenschaft.Property metadata for the dependency property.

Gibt zurück

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.A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property later.

Hinweise

Diese Methode gibt den- DependencyPropertyKeyTyp zurück RegisterAttached , während den DependencyProperty-Typ zurückgibt.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. Normalerweise 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ängigkeits SetValue(DependencyPropertyKey, Object)Eigenschaft festzulegen, indem aufgerufen wird.Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). Ihr Klassen Design wirkt sich auf Ihre Anforderungen aus. es wird jedoch im Allgemeinen empfohlen, den Zugriff und die DependencyPropertyKey Sichtbarkeit eines beliebigen auf die Teile des Codes zu beschränken, die erforderlich sind, um diese Abhängigkeits Eigenschaft als Teil der Klassen-oder Anwendungslogik festzulegen.Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. Außerdem wird empfohlen, dass Sie einen Bezeichner für die Abhängigkeits Eigenschaft für die schreibgeschützte Abhängigkeits Eigenschaft verfügbar machen, DependencyPropertyKey.DependencyProperty indem Sie public static readonly den Wert von als Feld für die Klasse verfügbar machen.It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

Schreibgeschützte angefügte Eigenschaften sind ein seltenen Szenario, da das primäre Szenario für eine angefügte Eigenschaft in XAMLXAMLverwendet wird.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAMLXAML. Ohne einen öffentlichen Setter kann eine angefügte Eigenschaft nicht in der XAMLXAML Syntax festgelegt werden.Without a public setter, an attached property cannot be set in XAMLXAML syntax.

Weitere Informationen zur Registrierung von Abhängigkeits Eigenschaften finden DependencyPropertySie unter.For more information on dependency property registration, see DependencyProperty.

Verwenden von RegisterAttached für Wert erbende Abhängigkeits EigenschaftenUse RegisterAttached for Value-inheriting Dependency Properties

Ein bestimmtes Szenario zum Registrieren einer Abhängigkeits Eigenschaft als angefügt ist die Unterstützung der Vererbung von Eigenschafts Werten.One particular scenario for registering a dependency property as attached is to support property value inheritance. Sie sollten Wert erbende Abhängigkeits Eigenschaften auch dann RegisterAttached bei registrieren, wenn die-Klasse Eigenschaften Wrapper Accessoren definiert, die die Abhängigkeits Eigenschaft verfügbar machen, und auch wenn Sie nicht beabsichtigen, Get *-und Set * static-Methoden zur Bereitstellung von true bereitzustellen. eigenschaftenunterstützungs-Accessoren.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Obwohl die Vererbung von Eigenschafts Werten für nicht angefügte Abhängigkeits Eigenschaften aussehen könnte, ist das Vererbungs Verhalten für eine nicht angefügte Eigenschaft über bestimmte Elementgrenzen in der Laufzeitstruktur nicht definiert.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Wenn die Eigenschaft als angefügt registriert wird, ist die angefügte Eigenschaft eine globale Eigenschaft für das Eigenschaften System und stellt sicher, dass die Vererbung von Eigenschafts Werten über alle Grenzen in einer Elementstruktur hinweg funktioniert.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Verwenden RegisterAttached Sie immer, um die Eigenschaften zu Inherits registrieren, die Sie in den Metadaten angeben.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Weitere Informationen finden Sie unter Vererbung von Eigenschaftswerten.For more information, see Property Value Inheritance.

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

Registriert eine schreibgeschützte Eigenschaft mit dem angegebenen Eigenschaftstyp, Besitzertyp, den angegebenen Eigenschaftsmetadaten und einem Validierungsrückruf.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

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

Parameter

name
String String String String

Der Name der zu registrierenden Abhängigkeitseigenschaft.The name of the dependency property to register.

propertyType
Type Type Type Type

Den Typ der Eigenschaft.The type of the property.

ownerType
Type Type Type Type

Der Besitzertyp, von dem die Abhängigkeitseigenschaft registriert wird.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

Eigenschaftenmetadaten für die Abhängigkeitseigenschaft.Property metadata for the dependency property.

validateValueCallback
ValidateValueCallback ValidateValueCallback 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.A reference to a user-created callback that should perform any custom validation of the dependency property value beyond typical type validation.

Gibt zurück

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.A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property.

Hinweise

Diese Methode gibt den- DependencyPropertyKeyTyp zurück RegisterAttached , während den DependencyProperty-Typ zurückgibt.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. In der Regel die Schlüssel, die den DependencyPropertyTyp darstellen.Typically, the keys that represent the type DependencyProperty. Normalerweise 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ängigkeits SetValue(DependencyPropertyKey, Object)Eigenschaft festzulegen, indem aufgerufen wird.Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). Ihr Klassen Design wirkt sich auf Ihre Anforderungen aus. es wird jedoch im Allgemeinen empfohlen, den Zugriff und die DependencyPropertyKey Sichtbarkeit eines beliebigen auf die Teile des Codes zu beschränken, die erforderlich sind, um diese Abhängigkeits Eigenschaft als Teil der Klassen-oder Anwendungslogik festzulegen.Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. Außerdem wird empfohlen, dass Sie einen Bezeichner für die Abhängigkeits Eigenschaft für die schreibgeschützte Abhängigkeits Eigenschaft verfügbar machen, DependencyPropertyKey.DependencyProperty indem Sie public static readonly den Wert von als Feld für die Klasse verfügbar machen.It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

Schreibgeschützte angefügte Eigenschaften sind ein seltenen Szenario, da das primäre Szenario für eine angefügte Eigenschaft in XAMLXAMLverwendet wird.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAMLXAML. Ohne einen öffentlichen Setter kann eine angefügte Eigenschaft nicht in der XAMLXAML Syntax festgelegt werden.Without a public setter, an attached property cannot be set in XAMLXAML syntax.

Weitere Informationen zur Registrierung von Abhängigkeits Eigenschaften finden DependencyPropertySie unter.For more information on dependency property registration, see DependencyProperty.

Verwenden von RegisterAttached für Wert erbende Abhängigkeits EigenschaftenUse RegisterAttached for Value-inheriting Dependency Properties

Ein bestimmtes Szenario zum Registrieren einer Abhängigkeits Eigenschaft als angefügt Register anstelle von ist die Unterstützung der Vererbung von Eigenschafts Werten.One particular scenario for registering a dependency property as attached instead of Register is to support property value inheritance. Sie sollten Wert erbende Abhängigkeits Eigenschaften auch dann RegisterAttached bei registrieren, wenn die-Klasse Eigenschaften Wrapper Accessoren definiert, die die Abhängigkeits Eigenschaft verfügbar machen, und auch wenn Sie nicht beabsichtigen, Get *-und Set * static-Methoden zur Bereitstellung von true bereitzustellen. eigenschaftenunterstützungs-Accessoren.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Obwohl die Vererbung von Eigenschafts Werten für nicht angefügte Abhängigkeits Eigenschaften aussehen könnte, ist das Vererbungs Verhalten für eine nicht angefügte Eigenschaft über bestimmte Elementgrenzen in der Laufzeitstruktur nicht definiert.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Wenn die Eigenschaft als angefügt registriert wird, ist die angefügte Eigenschaft eine globale Eigenschaft für das Eigenschaften System und stellt sicher, dass die Vererbung von Eigenschafts Werten über alle Grenzen in einer Elementstruktur hinweg funktioniert.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Verwenden RegisterAttached Sie immer, um die Eigenschaften zu Inherits registrieren, die Sie in den Metadaten angeben.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Weitere Informationen finden Sie unter Vererbung von Eigenschaftswerten.For more information, see Property Value Inheritance.

Gilt für: