Comment lier un enum à ma liste?

J’ai un projet Silverlight (WP7) et je voudrais lier une enum à une liste. C’est une énumération avec des valeurs personnalisées, située dans une bibliothèque de classe. Comment puis-je faire cela?

Dans Silverlight (WP7), la méthode Enum.GetNames () n’est pas disponible. Vous pouvez utiliser ce qui suit

public class Enum { public static IEnumerable GetNames() { var type = typeof(T); if (!type.IsEnum) throw new ArgumentException("Type '" + type.Name + "' is not an enum"); return ( from field in type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static) where field.IsLiteral select field.Name).ToList(); } } 

La méthode statique retournera une collection de chaînes énumérables. Vous pouvez lier cela à la source d’éléments d’une listbox. Comme

 this.listBox1.ItemSource = Enum.GetNames(); 

Convertissez l’énumération en liste (ou similaire) – comme dans Comment convertir une énumération en liste en C #?

puis liez-vous à la liste convertie.