Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DependencyProperty, classe

Représente une propriété qui peut être définie via des méthodes, telle que style, liaison de données, animation et héritage.

System.Object
  System.Windows.DependencyProperty

Espace de noms :  System.Windows
Assembly :  WindowsBase (dans WindowsBase.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
[TypeConverterAttribute("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
<object property="dependencyPropertyName"/>
- or -
<object property="ownerType.dependencyPropertyName"/>
- or -
<object property="attachedPropertyOwnerType.attachedPropertyName"/>

Valeurs XAML

dependencyPropertyName

Chaîne qui spécifie le DependencyProperty.Name de la propriété de dépendance souhaitée. Elle peut être précédée d'un préfixe d'espace de noms XML si la propriété n'est pas dans l'espace de noms XML par défaut (pour plus d'informations, consultez Espaces de noms XAML et mappage d'espace de noms pour XAML WPF.)

ownerType.dependencyPropertyName

Une chaîne qui spécifie un type de propriétaire d'une propriété de dépendance, un point (.), puis le DependencyProperty.Name. ownerType peut également être précédé par un préfixe d'espace de noms XML. Cette utilisation est particulière aux styles et aux modèles à liaison tardive, dans lesquels le propriétaire de la propriété de dépendance doit être spécifié pour analyser le contexte parce que le TargetType n'est pas encore connu. Pour plus d'informations, consultez Application d'un style et création de modèles.

attachedPropertyOwnerType.attachedPropertyName

Une chaîne qui spécifie le propriétaire d'une propriété attachée, un point (.), puis le nom de propriété attachée. attachedPropertyOwnerType peut également être précédé par un préfixe d'espace de noms XML.

Le type DependencyProperty expose les membres suivants.

  NomDescription
Propriété publiqueDefaultMetadataObtient les métadonnées par défaut de la propriété de dépendance.
Propriété publiqueGlobalIndexObtient une valeur générée en interne qui identifie uniquement la propriété de dépendance.
Propriété publiqueNameObtient le nom de la propriété de dépendance.
Propriété publiqueOwnerTypeObtient le type de l'objet qui a inscrit la propriété de dépendance avec le système de propriétés ou l'a ajoutée comme propriétaire de la propriété.
Propriété publiquePropertyTypeObtient le type que la propriété de dépendance utilise pour sa valeur.
Propriété publiqueReadOnlyObtient une valeur qui indique si la propriété de dépendance identifié par cette instance DependencyProperty est une propriété de dépendance en lecture seule.
Propriété publiqueValidateValueCallbackObtient le rappel de validation de valeur pour la propriété de dépendance.
Début
  NomDescription
Méthode publiqueAddOwner(Type)Ajoute un autre type en tant que propriétaire d'une propriété de dépendance qui a déjà été inscrite.
Méthode publiqueAddOwner(Type, PropertyMetadata)Ajoute un autre type en tant que propriétaire d'une propriété de dépendance qui a déjà été inscrite, en fournissant des métadonnées de propriété de dépendance pour la propriété de dépendance car elle existera sur le type de propriétaire fourni.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueGetHashCodeRetourne un code de hachage pour ce DependencyProperty. (Substitue Object.GetHashCode().)
Méthode publiqueGetMetadata(DependencyObject)Retourne les métadonnées pour cette propriété de dépendance car elle existe sur l'instance d'objet spécifiée.
Méthode publiqueGetMetadata(DependencyObjectType) Retourne les métadonnées pour cette propriété de dépendance car elle existe sur un type spécifié.
Méthode publiqueGetMetadata(Type)Retourne les métadonnées pour cette propriété de dépendance car elle existe sur un type existant spécifié.
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueIsValidTypeDétermine si une valeur spécifiée est acceptable pour le type de cette propriété de dépendance, comme vérifié par rapport au type de propriété fourni dans l'inscription de propriété de dépendance d'origine.
Méthode publiqueIsValidValueDétermine si la valeur fournie est acceptée pour le type de propriété à travers la vérification de type de base, et également si elle se trouve dans la plage de valeurs autorisée pour ce type.
Méthode publiqueOverrideMetadata(Type, PropertyMetadata)Spécifie les métadonnées de remplacement pour cette propriété de dépendance lorsqu'elle est présente sur des instances d'un type spécifié, en substituant les métadonnées qui existaient pour la propriété de dépendance lorsqu'elle a été héritée de types de base.
Méthode publiqueOverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)Fournit les métadonnées de remplacement pour une propriété de dépendance en lecture seule lorsqu'elle est présente sur des instances d'un type spécifié, substituant les métadonnées qui ont été fournies au cours de l'inscription de la propriété de dépendance initiale. Vous devez passer le DependencyPropertyKey pour la propriété de dépendance en lecture seule pour éviter de déclencher une exception.
Méthode publiqueMembre statiqueRegister(String, Type, Type)Inscrit une propriété de dépendance avec le nom de propriété, le type de propriété et le type de propriétaire spécifiés.
Méthode publiqueMembre statiqueRegister(String, Type, Type, PropertyMetadata)Inscrit une propriété de dépendance avec le nom de propriété, le type de propriété, le type de propriétaire et les métadonnées de propriété spécifiés.
Méthode publiqueMembre statiqueRegister(String, Type, Type, PropertyMetadata, ValidateValueCallback)Inscrit une propriété de dépendance avec le nom de propriété, le type de propriété, le type de propriétaire, les métadonnées de propriété spécifiés et un rappel de validation de valeur pour la propriété.
Méthode publiqueMembre statiqueRegisterAttached(String, Type, Type)Inscrit une propriété jointe avec le nom de propriété, le type de propriété, et le type de propriétaire spécifiés.
Méthode publiqueMembre statiqueRegisterAttached(String, Type, Type, PropertyMetadata)Inscrit une propriété jointe avec le nom de propriété, le type de propriété, le type de propriétaire et les métadonnées de propriété spécifiés.
Méthode publiqueMembre statiqueRegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)Inscrit une propriété jointe avec le type de propriété, le type de propriétaire, les métadonnées de propriété spécifiés et un rappel de validation de valeur pour la propriété.
Méthode publiqueMembre statiqueRegisterAttachedReadOnly(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.
Méthode publiqueMembre statiqueRegisterAttachedReadOnly(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é spécifiés et un rappel de validation.
Méthode publiqueMembre statiqueRegisterReadOnly(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.
Méthode publiqueMembre statiqueRegisterReadOnly(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, les métadonnées de propriété spécifiés et un rappel de validation.
Méthode publiqueToString Retourne la représentation de type chaîne de la propriété de dépendance. (Substitue Object.ToString().)
Début
  NomDescription
Champ publicMembre statiqueUnsetValueSpécifie une valeur statique qui est utilisée par le système de propriétés WPF plutôt que null pour indiquer que la propriété existe, mais sa valeur n'est pas définie par le système de propriétés.
Début

Un DependencyProperty prend en charge les fonctions suivantes dans Windows Presentation Foundation (WPF) :

  • La propriété peut être définie dans un style. Pour plus d'informations, consultez Application d'un style et création de modèles.

  • La propriété peut être définie via la liaison de données. Pour plus d'informations sur les propriétés de dépendance de liaison de données, consultez Comment : lier les propriétés de deux contrôles.

  • La propriété peut être définie avec une référence à une ressource dynamique. Pour plus d'informations, consultez Ressources XAML.

  • La propriété peut hériter automatiquement sa valeur d'un élément parent de l'arborescence d'éléments. Pour plus d'informations, consultez Héritage de la valeur de propriété.

  • La propriété peut être animée. Pour plus d'informations, consultez Vue d'ensemble de l'animation.

  • La propriété peut signaler que la valeur précédente de la propriété a été modifiée et la valeur de propriété peut être forcée. Pour plus d'informations, consultez Validation et rappels de propriétés de dépendance.

  • La propriété signale des informations à WPF, par exemple si la modification d'une valeur de propriété doit requérir que le système de disposition recompose les éléments visuels pour un élément.

  • La propriété reçoit une prise en charge dans le Concepteur WPF pour Visual Studio. Par exemple, la propriété peut être modifiée dans la fenêtre Propriétés.

Pour en savoir plus sur les propriétés de dépendance, consultez Vue d'ensemble des propriétés de dépendance. Si vous souhaitez que les propriétés de vos types personnalisés prennent en charge les fonctions dans la liste précédente, vous devez créer une propriété de dépendance. Pour apprendre à créer des propriétés de dépendance personnalisées, consultez Propriétés de dépendance personnalisées.

Une propriété jointe est une propriété qui permet à tout objet de signaler les informations au type qui définit la propriété jointe. Dans WPF, tout type qui hérite de DependencyObject peut utiliser une propriété jointe que le type hérite ou non du type qui définit la propriété. Une propriété jointe est une fonctionnalité du langage XAML. Pour définir une propriété jointe dans XAML, utilisez la syntaxe TypePropritaire.NomPropriété. Un exemple de propriété jointe est la propriété DockPanel.Dock. Si vous souhaitez créer une propriété qui peut être utilisée sur tous les types DependencyObject, vous devez créer une propriété jointe. Pour en savoir plus sur les propriétés jointes, notamment comment les créer, consultez Vue d'ensemble des propriétés jointes.

Cet exemple montre comment stocker une propriété Common Language Runtime (CLR) avec un champ DependencyProperty et ainsi définir une propriété de dépendance. Lorsque vous définissez vos propres propriétés et voulez qu'elles prennent en charge de nombreux aspects des fonctionnalités Windows Presentation Foundation (WPF), telles que les styles, la liaison de données, l'héritage, l'animation et les valeurs par défaut, vous devez les implémenter en tant que propriétés de dépendance.

L'exemple suivant enregistre tout d'abord une propriété de dépendance en appelant la méthode Register. Le nom du champ d'identificateur que vous utilisez pour stocker le nom et les caractéristiques de la propriété de dépendance doit être Name que vous avez choisi pour la propriété de dépendance dans le cadre de l'appel Register, ajouté par la chaîne littérale Property. Par exemple, si vous enregistrez une propriété de dépendance avec un Name de Location, le champ d'identificateur que vous définissez pour la propriété de dépendance doit être appelé LocationProperty.

Dans cet exemple, le nom de la propriété de dépendance et de son accesseur CLR est State, le champ d'identificateur est StateProperty, le type de la propriété est Boolean et le type qui enregistre la propriété de dépendance est MyStateControl.

Si vous ne suivez pas ce modèle d'affectation de noms, les concepteurs risquent de ne pas signaler votre propriété correctement, tandis que certains aspects de l'application du style du système de propriétés pourraient avoir un comportement inattendu.

Vous pouvez également spécifier des métadonnées par défaut pour une propriété de dépendance. Cet exemple enregistre la valeur par défaut false pour la propriété de dépendance State.


public class MyStateControl : ButtonBase
{
  public MyStateControl() : base() { }
  public Boolean State
  {
    get { return (Boolean)this.GetValue(StateProperty); }
    set { this.SetValue(StateProperty, value); } 
  }
  public static readonly DependencyProperty StateProperty = DependencyProperty.Register(
    "State", typeof(Boolean), typeof(MyStateControl),new PropertyMetadata(false));
}


Pour plus d'informations sur l'implémentation d'une propriété de dépendance et les raisons de cette implémentation, par opposition au simple stockage d'une propriété CLR par un champ privé, consultez Vue d'ensemble des propriétés de dépendance.

.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.