Affichage des articles dont le libellé est enumeration. Afficher tous les articles
Affichage des articles dont le libellé est enumeration. Afficher tous les articles

mercredi 19 août 2009

Xaml, Enumeration et intellisense !

Un petit post bien sympa pour se faciliter la vie...

Lorsque nous construisons des contrôles graphiques (exemple : librairie de contrôles), il arrive que nous utilisions des propriétés qui retournent des membres d'énumération.

Lorsque l'on vient à déclarer ces contrôles dans un fichier xaml, et que l'on appelle la propriété en question pour lui affecter une valeur ...
rien ne se passe : l'intellisense est dans les choux !

Pour corriger cet "intelli-ignorance", il suffit d'appliquer un geste très simple :

1. déclarer le namespace dans le fichier AssemblyInfo.cs de la façon suivante :
[assembly: XmlnsDefinition("http://monTruxAMoi.com/wpf/", "nameSpaceDeLenumeration")]

XmlnsDefinition provient de System.Windows.Markup.

2. Je compile,

3. Enfin, dans le Xaml ou je désire utiliser mon contrôle, j'ajoute une déclaration xmlns:monTrux="http://monTruxAMoi.com/wpf/"

Hélas cela ne fonctionne "correctement" qu'en WPF ...
En Silverlight (même 3), Visual Studio ne résoud pas correctement les using dans les fichiers xxx.g.cs
du coup, on perd l'intellisense côté C# ... pas pratique !