2009-11-24 26 views
14

Avoir quelques frustrations de disposition dans WPF-j'utilise une barre d'outils pour héberger un ensemble de contrôles, dont la plupart sont des boutons et l'un d'entre eux est (va être) une sorte de menu déroulant. Dans WinForms, le ToolStripDropDownButton était parfait; Cependant, je n'arrive pas à trouver la meilleure façon de répliquer ce comportement dans WPF.Menu déroulant dans la barre d'outils WPF

Des idées?

+0

Merci, a essayé de faire la même chose et cela a été utile tout de suite. :) –

Répondre

24

Vous pouvez essayer de placer un MenuItem Menu & dans la barre d'outils. J'ai dû utiliser les arborescences Menu et MenuItem dans diverses parties de l'interface (en plus des menus classiques) pour obtenir le comportement du menu déroulant. Vous pouvez modifier le gabarit de contrôle du menu pour sculpter l'aspect et la convivialité de votre apparence et abandonner complètement l'aspect et la convivialité du menu vanille.

Voici quelques XAML pour montrer une implémentation simple:

<Window x:Class="Window1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Window1" Height="300" Width="300"> 
<StackPanel> 
    <ToolBar> 
      <Button Content="Button1"></Button> 
      <Button Content="Button2"></Button> 
      <Menu> 
       <MenuItem Header="Menu"> 
        <MenuItem Header="MenuItem1"/> 
       </MenuItem> 
      </Menu> 
    </ToolBar> 
</StackPanel> 

+0

C'était ma première approche - il a étiré les éléments de menu à être les enfants de la barre d'outils au lieu du menu lui-même. Ce comportement est-il quelque chose que vous avez pu remplacer avec un modèle/style? – egoodberry

+0

Je ne sais pas pourquoi il se comporte ainsi, je mets à jour ma réponse avec un extrait de xaml qui semble fonctionner correctement ici. Faites-moi savoir s'il me manque quelque chose. – gbc

+0

L'échantillon affiché ci-dessus a-t-il fonctionné pour vous? – gbc