DependencyProperty Class

Représente une propriété de dépendance inscrite avec le système de propriétés de dépendance. Les propriétés de dépendance fournissent la prise en charge des expressions de valeur, de la liaison de données, de l'animation et de la notification des modifications de propriétés. Pour plus d'informations sur la façon dont les valeurs DependencyProperty servent d'identificateurs pour les propriétés de dépendance, consultez Vue d'ensemble des propriétés de dépendance.

Héritage

Object
  DependencyProperty

Syntaxe


public sealed class DependencyProperty : Object


<object property="dependencyPropertyName"/>
- or -
<object property="ownerTypeName.dependencyPropertyName"/>
- or -
<object property="attachedPropertyOwnerTypeName.attachedPropertyName"/>
 

XAML Values

dependencyPropertyName

Chaîne qui spécifie le nom inscrit 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.

ownerTypeName.dependencyPropertyName

Chaîne qui spécifie un type de propriétaire d'une propriété de dépendance, un point ("."), puis le nom de la propriété. Le ownerType peut également être précédé par un préfixe d'espace de noms XML. Cette utilisation est spécifique 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.

attachedPropertyOwnerTypeName.attachedPropertyName

Chaîne qui spécifie le propriétaire d'une propriété jointe, un point ("."), puis le nom de la propriété jointe. attachedPropertyOwnerTypeName peut également être précédé d'un préfixe d'espace de noms XML.

Une forme abrégée permettant de se souvenir de la syntaxe, dans la mesure où le mappage d'espace de noms XML n'est pas requis, consiste à utiliser le nom du champ d'identificateur de la propriété de dépendance, en ôtant le suffixe "Property".

Attributs

MarshalingBehaviorAttribute(Agile)
StaticAttribute(Windows.UI.Xaml.IDependencyPropertyStatics, NTDDI_WIN8)
ThreadingAttribute(Both)
VersionAttribute(NTDDI_WIN8)
WebHostHiddenAttribute()

Membres

DependencyPropertyClasse comporte les types de membres suivants :

Méthodes

The DependencyProperty Classe comporte les méthodes suivantes. Il hérite également des méthodes de Object Classe.

MéthodeDescription
GetMetadata Retrieves the property metadata value for the dependency property as registered to a type, with the type specified by a helper structure value that wraps the type name.
Register Registers a dependency property with the specified property name, property type, owner type, and property metadata for the property.
RegisterAttached Registers an attached dependency property with the specified property name, property type, owner type, and property metadata for the property.

 

Propriétés

Le DependencyPropertyClasse contient les propriétés suivantes.

PropriétéType d’accèsDescription

UnsetValue

en lecture seuleSpecifies a static value that is used by the property system rather than null to indicate that the property exists, but does not have its value set by the property system or by any app code.

 

Remarques

Les concepts des propriétés de dépendance sont décrits en détail dans la rubrique Vue d'ensemble des propriétés de dépendance.

Les instances de DependencyProperty sont souvent référencées dans la documentation en tant qu'identificateurs de propriété de dépendance. Les identificateurs permettent de faire référence à une propriété de dépendance qui a été enregistrée pour un type de propriétaire DependencyObject particulier. Lorsque le type de propriétaire enregistre la propriété, il expose l'instance DependencyProperty comme identificateur, qui est un membre statique de la classe propriétaire.

Le propriétaire DependencyObject fournit le magasin de propriétés pour la propriété de dépendance. Lorsque vous travaillez avec une propriété de dépendance dans le code, vous pouvez utiliser des identificateurs DependencyProperty comme entrée pour les appels aux méthodes de système de propriétés telles que SetValue. Toutefois, dans la plupart des cas, l'obtention ou la définition d'une propriété de dépendance est plus simple en obtenant ou en définissant le wrapper ; ce concept est illustré dans la rubrique Vue d'ensemble des propriétés de dépendance.

DependencyProperty prend en charge la conversion native de la syntaxe d'attribut XAML pour le remplissage des valeurs, qui est utilisée quand Setter spécifie sa valeur Property. Cette conversion utilise un formulaire ownerTypeName.propertyName pour la chaîne d'entrée.

Remarque  Une syntaxe relative qui peut également être utilisée pour spécifier une propriété par nom et est requise par certaines API de données et d'animation correspond à la syntaxe du chemin de propriété. Un chemin de propriété peut être utilisé pour référencer la structure d'une classe qui possède des propriétés et la valeur de cette propriété. Pour plus d'informations, consultez Syntaxe PropertyPath.

Le Windows Runtime implémente la fonctionnalité de langage de propriété jointe XAML avec les identificateurs DependencyProperty et le stockage de propriété sur un DependencyObject. Pour plus d'informations, consultez Vue d'ensemble des propriétés jointes.

Propriétés de dépendance personnalisées

Si vous souhaitez que les propriétés de vos types personnalisés prennent en charge les expressions de valeur, la liaison de données ou l'animation, vous devez sauvegarder ces propriétés avec une propriété de dépendance en respectant les instructions suivantes :

  • Enregistre une propriété de dépendance à l'aide de la méthode Register, qui retourne DependencyProperty. C'est votre identificateur de propriété de dépendance. Vous devez exposer cet objet en tant que propriété en lecture seule statique et accessible dans votre classe. Par convention, le nom de ce champ d'identificateur DependencyProperty doit se terminer par "Property".
  • Pendant l'inscription, vous pouvez fournir PropertyMetadata pour que la propriété continue de définir les comportements de la propriété.
  • Fournissez les accesseurs get et set de la propriété : ce sont des wrappers de propriété ; ils simplifient l'accès à votre propriété pour tous les appelants.

Exemples

Cet exemple montre une utilisation de base où DependencyProperty est généré sous forme d'un membre statique public d'une classe. Cela est effectué en appelant Register et en stockant la valeur de retour sous forme d'un membre de la classe. Pour obtenir plus d'exemples, consultez Propriétés de dépendance personnalisées.


public class Fish : Control
{
    public static readonly DependencyProperty SpeciesProperty =
    DependencyProperty.Register(
    "Species",
    typeof(String),
    typeof(Fish), null
    );
    public string Species
    {
        get { return (string)GetValue(SpeciesProperty); }
        set { SetValue(SpeciesProperty, (string)value); }
    }
}


Configuration requise

Client minimal pris en charge

Windows 8 [Applications du Windows Store uniquement]

Serveur minimal pris en charge

Windows Server 2012 [Applications du Windows Store uniquement]

Espace de noms

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Métadonnées

Windows.winmd

Voir aussi

Propriétés de dépendance personnalisées
Vue d'ensemble des propriétés de dépendance
Propriétés jointes personnalisées
Exemples de contrôles utilisateur et personnalisés en XML

 

 

Afficher:
© 2014 Microsoft. Tous droits réservés.