2010-12-07 2 views
0

Je dois effectuer une application WPF d'exemple rapide dans laquelle les contrôles des formulaires doivent être rendus visibles ou masqués en fonction des rôles utilisateur.Afficher/masquer les contrôles en fonction du rôle utilisateur dans WPF

Quelque chose comme cela sera grande, How to manipulate WPF GUI based on user roles

Je ne sais pas où mettre le XAML défini dans le fil (<Control) de sorte que le chaque contrôle sous la forme utilise RoleToVisibilityConverter pour afficher ou masquer les commandes.

Je suis très nouveau pour windows dev.pouvez-vous m'aider s'il vous plaît?

Cordialement Bala

Répondre

1

Vous pourriez résoudre ce problème en liant la visibilité à une propriété correspondante dans votre code-behind/ViewModel.

Voici un exemple d'une liaison dans un de mes testcontrols en utilisant WPF (en combinaison avec Caliburn):

Visibility="{Binding Path=IsAdmin}" 

Ici, j'ai une propriété bool dans mon ViewModel appelé IsAdmin.

+0

'BooleanToVisibilityConverter';) –

1

Pour moi, le plus simple était de créer une variable globale dans mon application. Pour cela, allez à votre Project->Properties->Settings.settings et créez une nouvelle variable (appelée, par exemple, Administrateur), et réglez-la sur True de False en fonction de ce que vous voulez faire. Quelque chose comme ceci:

enter image description here

Ensuite, à votre MainWindow, lorsque son initialisation, vous pouvez écrire ceci:

if (!Properties.Settings.Default.Administrator) 
{ 
    DisableSettings(); 
} 

Et puis, désactiver les champs que vous souhaitez.

Questions connexes