2010-11-11 18 views
2
cases à cocher

Est-ce que quelqu'un sait comment on peut lier des données champ enum qui est une combinaison de la base ORed enum? Dire que j'aiénumérations Databinding à C#

MyEnumType 
{ 
    e1=0x1, 
    e2=0x2, 
    e3=0x4 
} 

puis je

MyEnumType myEnum = MyEnumType.e1 | MyEnumType.e3 

Je voudrais afficher une boîte de dialogue qui peut être utilisée pour définir la valeur de myEnum. En ce moment j'ai un tas de cases à cocher dont chacune correspond à une valeur différente dans le type enum. En fonction de ce qui est coché, je les parcours et ainsi de suite. Aucune liaison de données effectuée, tout est manuel.

+0

Merci de le rappeler – Nickolodeon

Répondre

2

Google pour FlaggedEnumEditor. Ce sera un exemple assez bon pour comprendre le concept.

2

Je voudrais créer une classe d'aide (modèle de vue) que:

  • propriétés avaient appelé E1, E2, etc.
  • La classe mettra en œuvre IPropertyChanged
  • La méthode de jeu de chaque propriété mettra à jour la valeur sous-jacente, la méthode get lira à partir de la valeur sous-jacente.
  • Chaque fois que la valeur sous-jacente est modifiée, vous devrez déterminer quelles propriétés ont changé et appeler IPropertyChanged correctement.

Ensuite, tapez simplement les cases à cocher aux propriétés.

Cependant, si j'avais plus d'une telle énumération, je commencerais à chercher une solution qui n'avait pas besoin de moi pour écrire autant de code.