À l'aide enum dans ConverterParameter

Je suis la construction d'une application qui peut être utilisé par de nombreux utilisateurs. Chaque utilisateur est classé à la prochaine niveaux d'Authentification:

public enum AuthenticationEnum
{
    User,
    Technitian,     
    Administrator,
    Developer
}

Certains contrôles (tels que des boutons) sont exposés uniquement à certains niveaux d'utilisateurs.
J'ai une propriété que détient le niveau d'authentification de l'utilisateur actuel:

public AuthenticationEnum CurrentAuthenticationLevel { get; set; }

Je veux lier cette propriété à la 'Visibilité' propriété de certains contrôles et de passer un paramètre pour le Convertisseur de méthode, en disant qu'il ce qui est le plus bas niveau d'authentification qui est capable de voir le contrôle.
Par exemple:

<Button Visibility="{Binding Path=CurrentAuthenticationLevel, Converter={StaticResource AuthenticationToVisibility}, ConverterParameter="Administrator"}"/>

signifie que uniquement "Administrateur" et "Développeur" peut voir le bouton.
Malheureusement, le code ci-dessus passe "Administrateur" comme une chaîne de caractères. Bien sûr, je peux l'utilisateur de Cas de Commutateur à l'intérieur du convertisseur de méthode et de convertir la chaîne de AuthenticationEnum. Mais c'est moche et sujettes à des erreurs de maintenance (à chaque fois que l'énumération des changements - le convertisseur méthode devrait changer).

Est-il un meilleur moyen de passer le pas trivial de l'objet en tant que paramètre?

  • vous n'avez pas besoin de passer le ConverterParameter comme une chaîne de caractères
  • Faire de la Fredrik réponse comme réponse s'il vous Plaît.
  • Voir pour d'autres formats et plus de détails - stackoverflow.com/questions/359699/...
InformationsquelleAutor Leonid | 2011-02-09