2009-07-22 30 views

Respuesta

18

controlar la opción de menú, y haga lo siguiente:

_menuItem.IsSubmenuOpen = true; 
18

Salida este ejemplo sobre cómo abrir un menú contextual.

http://www.uxpassion.com/2009/01/how-to-enable-and-show-context-menu-on-left-click-in-wpf/

En resumen

que sólo puede llamar a:

YourContextMenu.IsOpen = true; 

Esto mostrará el menú de contexto, sólo asegúrese de que su asociado con un FrameworkElement en el que se está mostrando)

+1

No, el OP pregunta por la clase de menú (System.Windows.Controls.Menu). No tiene una propiedad IsOpen. Tal vez estás pensando en la clase ContextMenu. –

+0

También deberá inicializar 'YourContextMenu.PlacementTarget' con el UIElement" target "previsto. De lo contrario, el menú construido dinámicamente a partir de la cadena XAML (usando 'XamlReader') no podrá resolver los recursos, y no tendrá iconos, por ejemplo. – zmechanic

0
void CmsBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    box = sender as WpfBox; 
    ContextMenu cms = new ContextMenu(); 
    e.Handled = true; 
    ... 
} 
1
private void button_Click(object sender, RoutedEventArgs e) 
{ 
    var button= sender as FrameworkElement; 
    if (button != null) 
    { 
     button.ContextMenu.IsOpen = true; 
    } 
} 
Cuestiones relacionadas