DependencyProperty.RegisterReadOnly Méthode

Définition

Inscrit une propriété de dépendance en tant que propriété de dépendance en lecture seule.Registers a dependency property as a read-only dependency property.

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.Registers a read-only dependency property, with the specified property type, owner type, and property metadata.

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.Registers a read-only dependency property, with the specified property type, owner type, property metadata, and a validation callback.

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.Registers a read-only dependency property, with the specified property type, owner type, and property metadata.

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

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

Exemples

L’exemple suivant inscrit une propriété de dépendance AquariumSize en lecture seule.The following example registers an AquariumSize dependency property as read-only. L’exemple définit AquariumSizeKey comme une clé interne (afin que d’autres classes de l’assembly puissent substituer des métadonnées) et expose l’identificateur de propriété de dépendance en fonction de cette clé comme AquariumSizeProperty.The example defines AquariumSizeKey as an internal key (so that other classes in the assembly could override metadata) and exposes the dependency property identifier based on that key as AquariumSizeProperty. En outre, un wrapper est créé pour AquariumSize, avec uniquement un accesseur Get.Also, a wrapper is created for AquariumSize, with only a get accessor.

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.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 de dépendance en lecture seule sont un scénario assez courant à la fois dans l’API existante et pour les scénarios de personnalisation, car d’autres fonctionnalités de WPFWPF peuvent nécessiter une propriété de dépendance même si cette propriété n’est pas destinée à être définissable par les appelants.Read-only dependency properties are a fairly typical scenario both in the existing API and for customization scenarios, because other WPFWPF features might require a dependency property even if that property is not intended to be settable by callers. Vous pouvez utiliser la valeur d’une propriété de dépendance en lecture seule comme base pour d’autres opérations du système de propriétés qui prennent une propriété de dépendance, par exemple en basant un Trigger sur la propriété de dépendance dans un style.You can use the value of a read-only dependency property as the basis for other property system operations that take a dependency property, such as basing a Trigger on the dependency property in a style.

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.

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.Registers a read-only dependency property, with the specified property type, owner type, property metadata, and a validation callback.

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

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.

typeMetadata
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 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 de dépendance en lecture seule sont un scénario assez courant.Read-only dependency properties are a fairly typical scenario. Vous pouvez utiliser la valeur d’une propriété de dépendance en lecture seule comme base pour d’autres opérations du système de propriétés qui prennent une propriété de dépendance, par exemple en basant un Trigger sur la propriété de dépendance dans un style.You can use the value of a read-only dependency property as the basis for other property system operations that take a dependency property, such as basing a Trigger on the dependency property in a style.

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.

La validation sur une propriété de dépendance en lecture seule peut être moins importante.Validation on a read-only dependency property might be less important. Le niveau d’accès non public que vous spécifiez pour la clé réduit la probabilité d’une entrée arbitraire non valide.The nonpublic access level you specify for the key reduces the likelihood for arbitrary invalid input.

S’applique à