2009-11-24 52 views
14

Tener algunas frustraciones de diseño en WPF: estoy usando una barra de herramientas para alojar un conjunto de controles, la mayoría de los cuales son botones y uno de los cuales será (algún tipo de menú desplegable). En WinForms, el ToolStripDropDownButton fue perfecto; Sin embargo, parece que no puedo encontrar la mejor manera de replicar este comportamiento en WPF.Menú desplegable en WPF Toolbar

¿Alguna idea?

+0

Gracias, estaba tratando de hacer lo mismo y esto era útil de inmediato. :) –

Respuesta

24

Puede intentar colocar un Menú & MenuItem dentro de la barra de herramientas. Tuve que usar los árboles de Menu y MenuItem en varias partes de la interfaz (además de los menús clásicos) para obtener el comportamiento del menú desplegable. Puede modificar la plantilla de control del menú para esculpir el aspecto y la apariencia para que se vea como prefiera y abandonar por completo el aspecto y la sensación del menú de vanilla.

He aquí algunos XAML para mostrar una implementación 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

Este fue mi primer enfoque: estiró los elementos del menú para que fueran los elementos secundarios de la barra de herramientas en lugar del menú en sí. ¿Es este comportamiento algo que has podido anular con una Plantilla/Estilo? – egoodberry

+0

No estoy seguro de por qué se comporta de esa manera, actualizo mi respuesta con un fragmento xaml autónomo que parece funcionar bien aquí. Avísame si me estoy perdiendo algo. – gbc

+0

¿El ejemplo publicado anteriormente funciona para usted? – gbc

Cuestiones relacionadas