Partager via


DependencyProperty.RegisterReadOnly Méthode

Définition

Inscrit une propriété de dépendance en tant que propriété de dépendance en lecture seule.

Surcharges

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Inscrit une propriété de dépendance 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.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Inscrit une propriété de dépendance 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.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Inscrit une propriété de dépendance 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 ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata 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.

typeMetadata
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.

Exemples

L’exemple suivant inscrit une propriété de AquariumSize dépendance en lecture seule. L’exemple définit AquariumSizeKey comme une clé interne (afin que d’autres classes de l’assembly puissent remplacer les métadonnées) et expose l’identificateur de propriété de dépendance en fonction de cette clé en tant que AquariumSizeProperty. En outre, un wrapper est créé pour AquariumSize, avec uniquement un accesseur get.

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

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 de dépendance en lecture seule sont un scénario assez classique à la fois dans l’API existante et pour les scénarios de personnalisation, car d’autres fonctionnalités WPF peuvent nécessiter une propriété de dépendance même si cette propriété n’est pas destinée à être définie par les appelants. Vous pouvez utiliser la valeur d’une propriété de dépendance en lecture seule comme base pour d’autres opérations de système de propriétés qui prennent une propriété de dépendance, telles que la base d’une Trigger propriété de dépendance dans un style.

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

S’applique à

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Inscrit une propriété de dépendance 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 ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata 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.

typeMetadata
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 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 de dépendance en lecture seule sont un scénario assez classique. Vous pouvez utiliser la valeur d’une propriété de dépendance en lecture seule comme base pour d’autres opérations de système de propriétés qui prennent une propriété de dépendance, telles que la base d’une Trigger propriété de dépendance dans un style.

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

La validation sur une propriété de dépendance en lecture seule peut être moins importante. Le niveau d’accès non public que vous spécifiez pour la clé réduit la probabilité d’une entrée non valide arbitraire.

S’applique à