DataBinding - DataTrigger WPF
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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <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 !