IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

DataBinding - DataTrigger WPF


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 13
    Par défaut 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 xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Te baser sur un style pour savoir si tu dois afficher ou non ne me parait pas une bonne idée.
    Tu devrais te baser sur un flag quelconque.
    Regarde le pattern MVVM, il est très pratique : http://japf.developpez.com/tutoriels...-et-testables/
    Une framework MVVM simple et pratique : http://www.galasoft.ch/mvvm/

    Avec ça, tu pourra avoir dans ton VM un flag style isAdmin et tu pourras baser tes triggers dessus plutot.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 13
    Par défaut
    Ok merci bien pour cette réponse, je vais en effet regardé ca puisque je ne suis qu'au tout début du projet !

Discussions similaires

  1. "Double" databinding en WPF (datagrid/combobox)
    Par Towandaa dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 14/11/2014, 15h23
  2. [WPF] Databinding Treeview WPF
    Par Micky0001 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 16/08/2011, 10h19
  3. WPF - Probleme Databinding (source de données Base Access)
    Par DonJR dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 15/06/2008, 15h25
  4. [WPF]DataTrigger sur ComboBox
    Par guitoux1 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 20/06/2007, 10h31
  5. [WPF] databinding et tri
    Par MrCyprom dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 14/05/2007, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo