DependencyProperty.RegisterAttachedReadOnly Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Inscrit une propriété jointe en lecture seule.
Surcharges
| Nom | Description |
|---|---|
| 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, les métadonnées de propriété et 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 de 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
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 référencer la propriété de dépendance ultérieurement.
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 les 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). La conception de votre 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.DependencyPropertypublic 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 de propriétés de dépendance, consultez DependencyProperty.
Utiliser RegisterAttached pour hériter des propriétés de dépendance
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és qui exposent la propriété de dépendance, et même si vous n’avez pas l’intention d’exposer les méthodes statiques Get* et Set* pour fournir des accesseurs de prise en charge de propriété jointe true. Bien que l’héritage de la valeur 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 rend la propriété jointe une propriété globale au système de propriétés et garantit que l’héritage de valeur de propriété fonctionne sur toutes les limites d’une arborescence d’éléments. Utilisez toujours RegisterAttached pour inscrire les propriétés où vous spécifiez Inherits dans 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, les métadonnées de propriété et 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 de 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 effectuer une validation personnalisée de la valeur de propriété de dépendance au-delà de la validation de type classique.
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 référencer 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 les 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). La conception de votre 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.DependencyPropertypublic 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 de propriétés de dépendance, consultez DependencyProperty.
Utiliser RegisterAttached pour hériter des propriétés de dépendance
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és qui exposent la propriété de dépendance, et même si vous n’avez pas l’intention d’exposer les méthodes statiques Get* et Set* pour fournir des accesseurs de prise en charge de propriété jointe true. Bien que l’héritage de la valeur 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 rend la propriété jointe une propriété globale au système de propriétés et garantit que l’héritage de valeur de propriété fonctionne sur toutes les limites d’une arborescence d’éléments. Utilisez toujours RegisterAttached pour inscrire les propriétés où vous spécifiez Inherits dans les métadonnées. Pour plus d’informations, consultez Héritage de valeur de propriété.