2009-07-22 6 views

Répondre

18

mettre la main sur de l'élément de menu et procédez comme suit:

_menuItem.IsSubmenuOpen = true; 
18

Découvrez cet exemple sur la façon d'ouvrir un menu contextuel.

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

En résumé

Vous pouvez simplement appeler:

YourContextMenu.IsOpen = true; 

Cela permet d'afficher le menu contextuel, assurez-vous que son associé à un FrameworkElement sur lequel il affiche)

+1

Non, l'OP pose des questions sur la classe Menu (System.Windows.Controls.Menu). Il n'a pas de propriété IsOpen. Peut-être que vous pensez à la classe ContextMenu. –

+0

Vous devrez également initialiser 'YourContextMenu.PlacementTarget' avec UIElement" cible "prévu. Sinon, le menu construit dynamiquement à partir de la chaîne XAML (en utilisant 'XamlReader') ne sera pas capable de résoudre les ressources, et n'aura pas d'icônes, par exemple. – 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; 
    } 
} 
Questions connexes