2009-07-22 38 views

Trả lời

18

Nhận tổ chức của các mục menu, và làm điều này:

_menuItem.IsSubmenuOpen = true; 
18

Kiểm tra ví dụ này về làm thế nào để mở một menu ngữ cảnh.

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

Nói tóm lại

Bạn chỉ có thể gọi:

YourContextMenu.IsOpen = true; 

này sẽ hiển thị menu ngữ cảnh, chỉ cần đảm bảo nó gắn liền với một FrameworkElement mà trên đó nó được hiển thị)

+1

Không, OP hỏi về lớp Menu (System.Windows.Controls.Menu). Nó không có thuộc tính IsOpen. Có lẽ bạn đang nghĩ đến lớp ContextMenu. –

+0

Bạn cũng cần phải khởi tạo 'YourContextMenu.PlacementTarget' với UIElement" đích "dự kiến. Nếu không, trình đơn được xây dựng động từ chuỗi XAML (sử dụng 'XamlReader') sẽ không thể giải quyết tài nguyên, và sẽ không có biểu tượng, chẳng hạn. – 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; 
    } 
} 
Các vấn đề liên quan