2009-07-22 16 views

Antwort

18

Besorgen Sie den Menüpunkt, und dies tun:

_menuItem.IsSubmenuOpen = true; 
18

Schauen Sie sich dieses Beispiel dafür, wie ein Kontextmenü zu öffnen.

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

Zusammengefasst

Sie können einfach anrufen:

YourContextMenu.IsOpen = true; 

Dies wird das Kontextmenü angezeigt werden, so stellen Sie sicher, dass seine im Zusammenhang mit einem Framework, auf dem es angezeigt wird)

+1

Nein, das OP fragt nach der Menu-Klasse (System.Windows.Controls.Menu). Es hat keine IsOpen-Eigenschaft. Vielleicht denken Sie an die ContextMenu-Klasse. –

+0

Sie müssen auch "YourContextMenu.PlacementTarget" mit dem beabsichtigten UIElement "target" initialisieren. Andernfalls kann das dynamisch aus einer XAML-Zeichenfolge (mit "XamlReader") erstellte Menü keine Ressourcen auflösen und enthält beispielsweise keine Symbole. – 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; 
    } 
} 
Verwandte Themen