2009-11-24 13 views
14

Avendo alcuni frustrazioni di layout in WPF- Sto utilizzando una barra degli strumenti per ospitare una serie di controlli, la maggior parte dei quali sono dei pulsanti e uno dei quali è (sta per essere) una sorta di menu a discesa. In WinForms, ToolStripDropDownButton era perfetto; tuttavia, non riesco a capire il modo migliore per replicare questo comportamento in WPF.discesa Menu in WPF Toolbar

Qualche idea?

+0

Grazie, stava tentando di fare lo stesso e questo è stato utile fin da subito. :) –

risposta

24

Si potrebbe provare a mettere un menu & MenuItem all'interno della barra degli strumenti. Ho dovuto usare gli alberi Menu e MenuItem in varie parti dell'interfaccia (oltre ai menu classici) per ottenere il comportamento del menu a discesa. È possibile modificare il modello di controllo del menu per scolpire l'aspetto e l'aspetto di qualsiasi aspetto e abbandonare completamente l'aspetto e il menu del menu.

Ecco alcuni XAML per mostrare una semplice implementazione:

<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

Questo è stato il mio primo approccio: estendeva le voci del menu come figli della barra degli strumenti invece del menu stesso. Questo comportamento è qualcosa che sei riuscito a sovrascrivere con un modello/stile? – egoodberry

+0

Non sono sicuro del motivo per cui si comporta in questo modo, aggiorno la mia risposta con uno snippet xaml che sembra funzionare bene qui. Fammi sapere se mi manca qualcosa. – gbc

+0

L'esempio pubblicato sopra funziona per te? – gbc