Comment : enregistrer une propriété attachée

Mise à jour : novembre 2007

Cet exemple indique comment inscrire une propriété attachée et fournir des accesseurs publics pour utiliser la propriété en XAML (Extensible Application Markup Language) et dans le code. Les propriétés attachées sont un concept de syntaxe défini par le XAML (Extensible Application Markup Language). La plupart des propriétés attachées pour les types WPF sont également implémentées comme propriétés de dépendance. Vous pouvez utiliser des propriétés de dépendance dans tous les types DependencyObject.

Exemple

L'exemple suivant montre comment inscrire une propriété attachée sous la forme d'une propriété de dépendance en utilisant la méthode RegisterAttached. La classe de fournisseur peut fournir les métadonnées par défaut de la propriété applicable lorsque la propriété est utilisée dans une autre classe si la classe ne remplace pas les métadonnées. Dans cet exemple, la valeur par défaut de la propriété IsBubbleSource est false.

La classe de fournisseur d'une propriété attachée (même si elle n'est pas inscrite comme propriété de dépendance) doit fournir des accesseurs get et set statiques qui respectent la convention d'attribution de noms Set[AttachedPropertyName] et Get[AttachedPropertyName]. Ces accesseurs sont nécessaires pour que le lecteur XAML actif puisse reconnaître la propriété sous la forme d'un attribut en XAML et résoudre les types appropriés.

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject),
  new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
  element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
  return (Boolean)element.GetValue(IsBubbleSourceProperty);
}

Voir aussi

Concepts

Vue d'ensemble des propriétés de dépendance

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

Référence

DependencyProperty

Autres ressources

Rubriques Comment relatives aux propriétés

Exemples de propriétés