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 :

Style de Menu et MenuItems


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 140
    Points : 37
    Points
    37
    Par défaut Style de Menu et MenuItems
    Bonjour,

    Je tente de définir un Style pour tous les contrôles menus de mon Interface, lesquels sont juste composés de 2 menuItems:
    - un pour Editer(evenement Click défini sur une procédure code behind)
    - un autre pour proposer des options de filtrage > ouvre une nouvelle liste de menuitems simples.

    Dans le code XAML j'ecrivait X fois ceci :
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Menu>
        <MenuItem>
            <MenuItem Header="Edit Database" Click="SubEdit"/>
            <MenuItem Header="Filters"/>
        </MenuItem>
    </Menu>

    J'essaie donc un Style :
    Code xaml : 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
    <Style TargetType="Menu">
        <Setter Property="ToolTip" Value="Edit DataBase"/>
        <Setter Property="Margin" Value="2"/>
        <Setter Property="Grid.Column" Value="0"/>
        <Setter Property="Height" Value="25"/>
        <Setter Property="Width" Value="40"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <MenuItem>
                        <MenuItem Header="Edit Database" Click="SubEdit"/>
                        <MenuItem Header="Filters"/>
                    </MenuItem>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    et là mega plantage de l'IDE...

    j'ai réussi a recup en mettant en commentaire tout le setter template et un autre <Style targetType=MenuItem> plus bas, mais bon.... je suis pas + avancé mantenant je fais comment ? Qu'est-ce qui ne va pas dans la syntaxe ?

    Sinon, j'ai aussi trouvé sur msdn une allusion aux styling de MenuItems suivant des "rôles", mais je vois pas du tout comment ca s'appliquerait -simplement- à mon exemple ?

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Citation Envoyé par Masamunai
    Dans le code XAML j'ecrivait X fois ceci
    Il faut dans ce genre de situation s'orienter vers un UserControl. Ce n'est pas le rôle du style

    [EDIT] Un lien sur les userControl : http://morpheus.developpez.com/wpf/w...lscreation/#LI

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 140
    Points : 37
    Points
    37
    Par défaut
    Un usercontrol m'a l'air loin d'etre simple...

    Y aurait-il d'autres solutions ?
    Faire un ControlTemplate "à part" du Style précédent ?

    [EDIT] tiens je viens de trouver un topic similaire sur le même forum :style-menu-sous-menu.
    Ca parle de ces fameux "Rôles" justement...

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Citation Envoyé par Masamunai
    Un usercontrol m'a l'air loin d'etre simple...
    Mettre ce bout de code dans un UserControl doit être possible :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Menu>
        <MenuItem>
            <MenuItem Header="Edit Database" Click="SubEdit"/>
            <MenuItem Header="Filters"/>
        </MenuItem>
    </Menu>
    Puis tu pourras gérer les événements click (qui pourrait aussi être des commandes). Dans un style générique, tu vas vite être bloqué pour ce point...


    Citation Envoyé par Masamunai
    [EDIT] tiens je viens de trouver un topic similaire sur le même forum :style-menu-sous-menu.
    Ca parle de ces fameux "Rôles" justement...
    Les rôles que j'évoquais dans ce topic sont en rapport avec la place que prend un MenuItem au sein d'un Menu. Ils permettent de différencier un MenuItem de type Header ou SubItem pour nous permettre d'affecter un style différent suivant ce type de MenuItem.
    Il faut bien comprendre qu'un style va nous permettre de repenser le contrôle de façon graphique (background, couleur de texte, etc).

    Citation Envoyé par Masamunai
    Y aurait-il d'autres solutions ?
    Peut-être mais pour le coup, je pense vraiment que le UserControl répond a ton besoin.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/02/2010, 23h29
  2. Avoir un style de menu entre deux images
    Par sasosaso dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/08/2007, 10h22
  3. Netbeans, menu et menuitem
    Par Alainfa dans le forum NetBeans
    Réponses: 3
    Dernier message: 19/05/2007, 21h17
  4. utilisation de menu et menuItem
    Par alphonse62 dans le forum NetBeans
    Réponses: 2
    Dernier message: 06/05/2007, 19h38
  5. [struts layout]menu et menuItem
    Par david06600 dans le forum Struts 1
    Réponses: 3
    Dernier message: 11/09/2006, 16h22

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