DependencyProperty.RegisterAttachedReadOnly Méthode

Définition

Inscrit une propriété jointe en lecture seule.

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.

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.

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.

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.

propertyType
Type

Type de la propriété.

ownerType
Type

Type du propriétaire qui inscrit la propriété de dépendance.

defaultMetadata
PropertyMetadata

Métadonnées de propriété pour la propriété de dépendance.

Retours

DependencyPropertyKey

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.

Remarques

Cette méthode retourne le type DependencyPropertyKey, tandis que RegisterAttached retourne le type DependencyProperty. En règle générale, les clés qui représentent des propriétés en lecture seule ne sont pas rendues publiques, car les clés peuvent être utilisées pour définir la valeur de propriété de dépendance en appelant 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 n’importe quelle DependencyPropertyKey partie de votre code qui sont nécessaires pour définir cette propriété de dépendance dans le cadre de la logique de classe ou d’application. 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 d’un DependencyPropertyKey.DependencyProperty public static readonly champ sur votre classe.

Les propriétés jointes en lecture seule sont un scénario rare, car le scénario principal d’une propriété jointe est son utilisation en XAML. Sans setter public, une propriété jointe ne peut pas être définie dans la syntaxe XAML.

Pour plus d’informations sur l’inscription des propriétés de dépendance, consultez DependencyProperty.

Utiliser RegisterAttached pour les propriétés de dépendance héritées de valeur

Un scénario particulier pour l’inscription d’une propriété de dépendance comme attaché consiste à prendre en charge l’héritage des valeurs de propriété. Vous devez inscrire des propriétés de dépendance héritées de 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 les méthodes statiques Get* et Set* pour fournir des accesseurs de prise en charge des propriétés jointes vraies. Bien que l’héritage des valeurs de propriété semble fonctionner pour les propriétés de dépendance non attachées, le comportement d’héritage d’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. L’inscription de la propriété comme attachée fait en effet de la propriété jointe une propriété globale au système de propriétés et garantit que l’héritage des valeurs de propriété fonctionne sur toutes les limites d’une arborescence d’éléments. RegisterAttached Utilisez toujours pour inscrire les propriétés dans lesquelles vous spécifiez Inherits les métadonnées. Pour plus d’informations, consultez Héritage de valeur de propriété.

S’applique à

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.

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

Paramètres

name
String

Nom de la propriété de dépendance à inscrire.

propertyType
Type

Type de la propriété.

ownerType
Type

Type du propriétaire qui inscrit la propriété de dépendance.

defaultMetadata
PropertyMetadata

Métadonnées de propriété pour la propriété de dépendance.

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.

Retours

DependencyPropertyKey

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.

Remarques

Cette méthode retourne le type DependencyPropertyKey, tandis que RegisterAttached retourne le type DependencyProperty. En règle générale, les clés qui représentent le type DependencyProperty. En règle générale, les clés qui représentent des propriétés en lecture seule ne sont pas rendues publiques, car les clés peuvent être utilisées pour définir la valeur de propriété de dépendance en appelant 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 n’importe quelle DependencyPropertyKey partie de votre code qui sont nécessaires pour définir cette propriété de dépendance dans le cadre de la logique de classe ou d’application. 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 d’un DependencyPropertyKey.DependencyProperty public static readonly champ sur votre classe.

Les propriétés jointes en lecture seule sont un scénario rare, car le scénario principal d’une propriété jointe est son utilisation en XAML. Sans setter public, une propriété jointe ne peut pas être définie dans la syntaxe XAML.

Pour plus d’informations sur l’inscription des propriétés de dépendance, consultez DependencyProperty.

Utiliser RegisterAttached pour les propriétés de dépendance héritées de valeur

Un scénario particulier pour l’inscription d’une propriété de dépendance comme attaché au lieu de prendre en charge l’héritage des valeurs de Register propriété. Vous devez inscrire des propriétés de dépendance héritées de 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 les méthodes statiques Get* et Set* pour fournir des accesseurs de prise en charge des propriétés jointes vraies. Bien que l’héritage des valeurs de propriété semble fonctionner pour les propriétés de dépendance non attachées, le comportement d’héritage d’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. L’inscription de la propriété comme attachée fait en effet de la propriété jointe une propriété globale au système de propriétés et garantit que l’héritage des valeurs de propriété fonctionne sur toutes les limites d’une arborescence d’éléments. RegisterAttached Utilisez toujours pour inscrire les propriétés dans lesquelles vous spécifiez Inherits les métadonnées. Pour plus d’informations, consultez Héritage de valeur de propriété.

S’applique à