Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF上下文菜单使用(按住Shift键并单击鼠标右键)_Wpf_Contextmenu_Shift_Right Click - Fatal编程技术网

WPF上下文菜单使用(按住Shift键并单击鼠标右键)

WPF上下文菜单使用(按住Shift键并单击鼠标右键),wpf,contextmenu,shift,right-click,Wpf,Contextmenu,Shift,Right Click,我对WPF中的“上下文菜单”有一个问题。是否有办法仅在执行“Shift右键单击”时弹出关联菜单?? 我一直在到处找这个。上下文菜单似乎只有在“右键单击”时才能弹出 有人有什么想法吗???试试这个。。。。您的XAML上下文菜单属性应该如下所示 <ElementToWhichContextMenuIsAttached ContextMenu="{StaticResource MyContextMenu}" Context

我对WPF中的“上下文菜单”有一个问题。是否有办法仅在执行“Shift右键单击”时弹出关联菜单?? 我一直在到处找这个。上下文菜单似乎只有在“右键单击”时才能弹出


有人有什么想法吗???

试试这个。。。。您的XAML上下文菜单属性应该如下所示

<ElementToWhichContextMenuIsAttached ContextMenu="{StaticResource MyContextMenu}"
                                     ContextMenuOpening="MyContextMenuOpening"/>

你的代码后面会是这样的

    /// <summary>
    /// This will suppress the context menu if the shift key is not pressed
    /// </summary>
    private void MyContextMenuOpening(object sender, ContextMenuEventArgs e)
    {
        // Show context menu as handled if no key is down.
        e.Handled = !(Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift));
    }
//
///如果未按下shift键,这将抑制关联菜单
/// 
私有void MyContextMenuOpening(对象发送方,ContextMenuEventArgs e)
{
//如果未按下任何键,则将上下文菜单显示为已处理。
e、 已处理=!(Keyboard.IsKeyDown(Key.LeftShift)| Keyboard.IsKeyDown(Key.RightShift));
}

Sweet它可以在tnx上工作!顺便说一句,您不必使用StaticResource,您可以将其设置为内容,但“ContextMenuOpening”将与您拥有的内容相同。我在基础设施控制中使用它,所以我必须这样做。