Bonjour,
J'ai créé une attached property:
Quand je fait appel à la méthode TypeDescriptor.GetProperties, la propriété n’apparaît pas dans la liste alors que d'autres provenant du Framework (par exemple, InputLanguageManager.InputLanguage) apparaissent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public static class CustomService { public static readonly DependencyProperty MyPropertyProperty =DependencyProperty.RegisterAttached("MyProperty", typeof(string), typeof(CustomService), new PropertyMetadata(null)); public static void SetMyProperty(DependencyObject target, string value) { target.SetValue(MyPropertyProperty, value); } [Browsable(true)] [AttachedPropertyBrowsableForType(typeof(DependencyObject))] public static string GetMyProperty(DependencyObject target) { return (string)(target.GetValue(MyPropertyProperty)); } }
Même en ajoutant les attributs [Browsable(True)], [AttachedPropertyBrowsableForType(typeof(DispatcherObject))] ou [AttachedPropertyBrowsableForChildrenAttribute(IncludeDescendants = true)], elle n’apparaît pas.
J'ai également essayé en utilisant une classe héritant de DependencyObject au lieu d'une classe statique mais cela ne fonctionne pas non plus.
Par contre, à partir du moment où je lui fixe une valeur, elle apparaît dans cette liste.
Est-ce qu'il existe un moyen "d'enregistrer" automatiquement l'attached property ?
Merci.
Partager