Comment : enregistrer une propriété jointe
Cet exemple indique comment inscrire une propriété jointe et fournir des accesseurs publics pour utiliser la propriété en Extensible Application Markup Language (XAML) et dans le code. Les propriétés jointes sont un concept de syntaxe défini par le Extensible Application Markup Language (XAML). La plupart des propriétés jointes 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é jointe 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é jointe (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[NomPropriétéJointe] et Get[NomPropriétéJointe]. 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 Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject), New FrameworkPropertyMetadata(False, FrameworkPropertyMetadataOptions.AffectsRender))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function
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
Référence
Concepts
Vue d'ensemble des propriétés de dépendance
Propriétés de dépendance personnalisées