DataBinding WPF

DataBinding WPF - C#/.NET managed - Programmation

Marsh Posté le 29-04-2011 à 15:39:15    

Bonjour à tous,  
 
je galère un peu avec WPF qui est nouveau pour moi. Voila ma question :  
 
Je souhaite que certains item (MenuItem) n'apparaisse que si mon utilisateur à les droit d'admin (Définit dans une table MySQL ou que si un utilisateur est connecté ).  
 
les droit d'admin sont défini par ma classe User qui a pour variable IdTypeUser. cette variable est accessible depuis ma MainWindow.  
 
Donc dans mon xaml de mes fenetres je veux que tout les controls ayant par exemple un Style="{StaticResource uniquementAdmin}" ne soit visible par ces admins.  
 
Je pense ne pas avoir très bine compris comment fonctionne le databinding a ce niveau.  
Voila à ou j'en suis mais forcement ca ne marche pas... :  
 
Une idée ?  
 
 
 
 

Code :
  1. <Style   x:Key="uniquementAdmin" TargetType="Control">
  2.         <Style.Triggers>
  3.             <MultiDataTrigger>
  4.                 <MultiDataTrigger.Conditions>
  5.                     <Condition Binding="{Binding Path=isUserConnect}" Value="True"/>
  6.                     <Condition Binding="{Binding Path=User.IdTypeUser}" Value="2"/>
  7.                 </MultiDataTrigger.Conditions>
  8.                 <Setter Property="Visibility" Value="Visible" />
  9.             </MultiDataTrigger>
  10.             <MultiDataTrigger>
  11.                 <MultiDataTrigger.Conditions>
  12.                     <Condition Binding="{Binding Path=isUserConnect}" Value="True"/>
  13.                     <Condition Binding="{Binding Path=User.IdTypeUser}" Value="1"/>
  14.                 </MultiDataTrigger.Conditions>
  15.                 <Setter Property="Visibility" Value="Hidden" />
  16.             </MultiDataTrigger>
  17.             <MultiDataTrigger>
  18.                 <MultiDataTrigger.Conditions>
  19.                     <Condition Binding="{Binding Path=isUserConnect}" Value="True"/>
  20.                     <Condition Binding="{Binding Path=User.IdTypeUser}" Value="3"/>
  21.                 </MultiDataTrigger.Conditions>
  22.                 <Setter Property="Visibility" Value="Hidden" />
  23.             </MultiDataTrigger>
  24.             <DataTrigger Binding="{Binding Path=isUserConnect}"  Value="False">
  25.                 <Setter Property="Visibility" Value="Hidden" />
  26.             </DataTrigger>
  27.         </Style.Triggers>
  28.     </Style>


 
 
Merci !

Reply

Marsh Posté le 29-04-2011 à 15:39:15   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed