2009-11-24 3 views
14

Mit einigen Layout Frustrationen in WPF- Ich benutze eine ToolBar, um eine Reihe von Steuerelementen, von denen die meisten Tasten und einer von denen (wird) eine Art Dropdown-Menü sein. In WinForms war der ToolStripDropDownButton perfekt; Ich kann jedoch nicht den besten Weg finden, dieses Verhalten in WPF zu replizieren.Dropdown-Menü in WPF Toolbar

Irgendwelche Ideen?

+0

Danke, wurde versucht, das gleiche und das war nützlich sofort zu tun. :) –

Antwort

24

Sie könnten versuchen, ein Menü & MenuItem in der Symbolleiste zu platzieren. Ich musste Menus und MenuItem Trees in verschiedenen Teilen der Benutzeroberfläche (neben klassischen Menüs) verwenden, um das Dropdown-Menü-Verhalten zu erhalten. Sie können die Kontrollschablone des Menüs optimieren, um das Aussehen so zu gestalten, dass Sie wie gewünscht aussehen und das Aussehen und Verhalten des Vanilla-Menüs vollständig aufgeben.

Hier einige XAML eine einfache Implementierung zeigen:

<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

Das war meine erste Annäherung - es streckte die Menüpunkte aus, um Kinder der ToolBar anstelle des Menüs selbst zu sein. Ist dieses Verhalten etwas, das Sie mit einem Template/Style überschreiben konnten? – egoodberry

+0

Nicht sicher, warum es sich so verhält, aktualisiere ich meine Antwort mit einem in sich geschlossenen Xaml-Snippet, das hier gut zu funktionieren scheint. Lass es mich wissen, wenn ich etwas verpasse. – gbc

+0

Hat das oben genannte Beispiel für Sie funktioniert? – gbc