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 :
- <Style x:Key="uniquementAdmin" TargetType="Control">
- <Style.Triggers>
- <MultiDataTrigger>
- <MultiDataTrigger.Conditions>
- <Condition Binding="{Binding Path=isUserConnect}" Value="True"/>
- <Condition Binding="{Binding Path=User.IdTypeUser}" Value="2"/>
- </MultiDataTrigger.Conditions>
- <Setter Property="Visibility" Value="Visible" />
- </MultiDataTrigger>
- <MultiDataTrigger>
- <MultiDataTrigger.Conditions>
- <Condition Binding="{Binding Path=isUserConnect}" Value="True"/>
- <Condition Binding="{Binding Path=User.IdTypeUser}" Value="1"/>
- </MultiDataTrigger.Conditions>
- <Setter Property="Visibility" Value="Hidden" />
- </MultiDataTrigger>
- <MultiDataTrigger>
- <MultiDataTrigger.Conditions>
- <Condition Binding="{Binding Path=isUserConnect}" Value="True"/>
- <Condition Binding="{Binding Path=User.IdTypeUser}" Value="3"/>
- </MultiDataTrigger.Conditions>
- <Setter Property="Visibility" Value="Hidden" />
- </MultiDataTrigger>
- <DataTrigger Binding="{Binding Path=isUserConnect}" Value="False">
- <Setter Property="Visibility" Value="Hidden" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
|
Merci !