DependencyProperty.RegisterAttachedReadOnly Méthode

Définition

Inscrit une propriété jointe en lecture seule.Registers a read-only attached property.

Surcharges

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Inscrit une propriété jointe en lecture seule, avec le type de propriété, le type de propriétaire et les métadonnées de propriété spécifiés.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

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

Inscrit une propriété jointe en lecture seule, avec le type de propriété, le type de propriétaire et les métadonnées de propriété spécifiés, ainsi qu’un rappel de validation.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Inscrit une propriété jointe en lecture seule, avec le type de propriété, le type de propriétaire et les métadonnées de propriété spécifiés.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

Paramètres

name
String

Nom de la propriété de dépendance à inscrire.The name of the dependency property to register.

propertyType
Type

Type de la propriété.The type of the property.

ownerType
Type

Type du propriétaire qui inscrit la propriété de dépendance.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Métadonnées de propriété pour la propriété de dépendance.Property metadata for the dependency property.

Retours

Clé de propriété de dépendance qui doit être utilisée pour définir la valeur d’un champ statique en lecture seule dans votre classe, qui est ensuite utilisée pour faire référence à la propriété de dépendance.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.

Remarques

Cette méthode retourne le type DependencyPropertyKey, tandis que RegisterAttached retourne le type DependencyProperty.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. En règle générale, les clés qui représentent les propriétés en lecture seule ne sont pas rendues publiques, car elles peuvent être utilisées pour définir la valeur de la propriété de dépendance en appelant SetValue(DependencyPropertyKey, Object).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). Votre conception de classe affecte vos exigences, mais il est généralement recommandé de limiter l’accès et la visibilité de tout DependencyPropertyKey aux parties de votre code qui sont nécessaires à la définition de cette propriété de dépendance dans le cadre de la logique de la classe ou de l’application.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. Il est également recommandé d’exposer un identificateur de propriété de dépendance pour la propriété de dépendance en lecture seule, en exposant la valeur de DependencyPropertyKey.DependencyProperty sous la forme d’un champ public static readonly sur votre classe.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.

Les propriétés jointes en lecture seule sont un scénario rare, car le scénario principal pour une propriété jointe est son utilisation dans XAMLXAML.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAMLXAML. Sans méthode setter publique, une propriété jointe ne peut pas être définie dans la syntaxe XAMLXAML.Without a public setter, an attached property cannot be set in XAMLXAML syntax.

Pour plus d’informations sur l’inscription des propriétés de dépendance, consultez DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Utiliser RegisterAttached pour les propriétés de dépendance héritant de la valeurUse RegisterAttached for Value-inheriting Dependency Properties

Un scénario particulier pour l’inscription d’une propriété de dépendance comme jointe consiste à prendre en charge l’héritage de la valeur de propriété.One particular scenario for registering a dependency property as attached is to support property value inheritance. Vous devez inscrire des propriétés de dépendance héritant de la valeur avec RegisterAttached même si la classe définit des accesseurs de wrapper de propriété qui exposent la propriété de dépendance, et même si vous n’envisagez pas d’exposer des méthodes statiques obtenir * et Set * pour fournir les véritables accesseurs de prise en charge des propriétés attachées.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. Bien que l’héritage de la valeur de propriété puisse sembler fonctionner pour les propriétés de dépendance non jointes, le comportement d’héritage pour une propriété non attachée par le biais de certaines limites d’élément dans l’arborescence d’exécution n’est pas défini.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. L’inscription de la propriété attachée à la propriété attachée fait de la propriété jointe une propriété globale au système de propriétés et garantit que l’héritage de la valeur de propriété fonctionne sur toutes les limites d’une arborescence d’éléments.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. Utilisez toujours RegisterAttached pour inscrire les propriétés où vous spécifiez Inherits dans les métadonnées.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Pour plus d’informations, consultez Héritage de valeur de propriété.For more information, see Property Value Inheritance.

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

Inscrit une propriété jointe en lecture seule, avec le type de propriété, le type de propriétaire et les métadonnées de propriété spécifiés, ainsi qu’un rappel de validation.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

Paramètres

name
String

Nom de la propriété de dépendance à inscrire.The name of the dependency property to register.

propertyType
Type

Type de la propriété.The type of the property.

ownerType
Type

Type du propriétaire qui inscrit la propriété de dépendance.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Métadonnées de propriété pour la propriété de dépendance.Property metadata for the dependency property.

validateValueCallback
ValidateValueCallback

Référence à un rappel créé par l’utilisateur qui doit exécuter toute validation personnalisée de la valeur de propriété de dépendance au-delà de la validation de type standard.A reference to a user-created callback that should perform any custom validation of the dependency property value beyond typical type validation.

Retours

Clé de propriété de dépendance qui doit être utilisée pour définir la valeur d’un champ statique en lecture seule dans votre classe, qui est ensuite utilisée pour faire référence à la propriété de dépendance.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.

Remarques

Cette méthode retourne le type DependencyPropertyKey, tandis que RegisterAttached retourne le type DependencyProperty.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. En général, les clés qui représentent le type DependencyProperty.Typically, the keys that represent the type DependencyProperty. En règle générale, les clés qui représentent les propriétés en lecture seule ne sont pas rendues publiques, car elles peuvent être utilisées pour définir la valeur de la propriété de dépendance en appelant SetValue(DependencyPropertyKey, Object).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). Votre conception de classe affecte vos exigences, mais il est généralement recommandé de limiter l’accès et la visibilité de tout DependencyPropertyKey aux parties de votre code qui sont nécessaires à la définition de cette propriété de dépendance dans le cadre de la logique de la classe ou de l’application.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. Il est également recommandé d’exposer un identificateur de propriété de dépendance pour la propriété de dépendance en lecture seule, en exposant la valeur de DependencyPropertyKey.DependencyProperty sous la forme d’un champ public static readonly sur votre classe.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.

Les propriétés jointes en lecture seule sont un scénario rare, car le scénario principal pour une propriété jointe est son utilisation dans XAMLXAML.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAMLXAML. Sans méthode setter publique, une propriété jointe ne peut pas être définie dans la syntaxe XAMLXAML.Without a public setter, an attached property cannot be set in XAMLXAML syntax.

Pour plus d’informations sur l’inscription des propriétés de dépendance, consultez DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Utiliser RegisterAttached pour les propriétés de dépendance héritant de la valeurUse RegisterAttached for Value-inheriting Dependency Properties

Un scénario particulier pour inscrire une propriété de dépendance comme attachée au lieu de Register consiste à prendre en charge l’héritage de la valeur de propriété.One particular scenario for registering a dependency property as attached instead of Register is to support property value inheritance. Vous devez inscrire des propriétés de dépendance héritant de la valeur avec RegisterAttached même si la classe définit des accesseurs de wrapper de propriété qui exposent la propriété de dépendance, et même si vous n’envisagez pas d’exposer des méthodes statiques obtenir * et Set * pour fournir les véritables accesseurs de prise en charge des propriétés attachées.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. Bien que l’héritage de la valeur de propriété puisse sembler fonctionner pour les propriétés de dépendance non jointes, le comportement d’héritage pour une propriété non attachée par le biais de certaines limites d’élément dans l’arborescence d’exécution n’est pas défini.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. L’inscription de la propriété attachée à la propriété attachée fait de la propriété jointe une propriété globale au système de propriétés et garantit que l’héritage de la valeur de propriété fonctionne sur toutes les limites d’une arborescence d’éléments.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. Utilisez toujours RegisterAttached pour inscrire les propriétés où vous spécifiez Inherits dans les métadonnées.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Pour plus d’informations, consultez Héritage de valeur de propriété.For more information, see Property Value Inheritance.

S’applique à