c# - 为什么 ContextMenu(弹出菜单)不显示?

标签 c# wpf user-interface contextmenu popupmenu

以下类派生自System.Windows.Controls.UserControl。在所述类中,我调用 OpenFileDialog 来打开 XAML 文件(工作流文件)。接下来,我实现了右键单击鼠标时的动态菜单。菜单不显示。这是线程问题还是 UI 问题?在我的研究中,我一直无法找到解决方案。

提前致谢。

private void File_Open_Click(object sender, RoutedEventArgs e)
{
    var fileDialog = new OpenFileDialog();

    fileDialog.Title  = "Open Workflow";
    fileDialog.Filter = "Workflow| *.xaml";

    if (fileDialog.ShowDialog() == DialogResult.OK)
    {
        LoadWorkflow(fileDialog.FileName);
        MouseDown += new System.Windows.Input.MouseButtonEventHandler(mouseClickedResponse);
     }
}

private void mouseClickedResponse(object sender, System.Windows.Input.MouseEventArgs e)
{
    if (e.RightButton == MouseButtonState.Pressed)
    {
         LoadMenuItems();
    }
}

private void LoadMenuItems()
{
    System.Windows.Controls.ContextMenu contextmenu = new System.Windows.Controls.ContextMenu();   
    System.Windows.Controls.MenuItem item1 = new System.Windows.Controls.MenuItem();
    item1.Header = "A new Test";
    contextmenu.Items.Add(item1);
    this.ContextMenu = contextmenu;
    this.ContextMenu.Visibility = Visibility.Visible;
}

最佳答案

我自己也遇到过这个问题,我用的是这个:

ContextMenu.IsOpen = true;

MSDN Documentation on ContextMenu

关于c# - 为什么 ContextMenu(弹出菜单)不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12099282/

相关文章:

C# WPF - 数据绑定(bind) DataGridComboboxColumn SelectedValueBinding

c# - 如何在WPF中轻松绘制图形?

c# - 如何在共享应用程序资源中实现导航按钮?

user-interface - 用户界面中的文本大写

c# - .NET 中的可取消排序?

Java 远程客户端 GUI

c# - 如何查找 OData edm 模型类型到 clr 类型的映射?

c# - 如何在 C# 中获取模数?

c# - 换行的正则表达式

c# - 关于从后台线程访问 Gui 的基本线程