相关疑难解决方法(0)

左键单击显示ContextMenu仅使用XAML

WPF的默认行为ContextMenu是在用户右键单击时显示它.我希望在ContextMenu用户左键单击时显示.看起来这应该是一个简单的属性ContextMenu,但事实并非如此.

我操纵它,以便我LeftMouseButtonDown在代码隐藏中处理事件,然后显示上下文菜单.

我在我的项目中使用MVVM,这意味着我将DataTemplates用于具有上下文菜单的项目.摆脱代码隐藏并找到一种使用XAML中的触发器或属性显示上下文菜单的方法会更加优雅.

这个问题的任何想法或解决方案?

.net wpf xaml contextmenu mvvm

7
推荐指数
2
解决办法
7696
查看次数

鼠标左键单击 wpf c# 打开上下文菜单

我有一个矩形。它rectangle有一个自定义(只是在其中contextmenu进行了一些简单的更改)。我想要的是,单击鼠标左键,将弹出。ControlTemplae<ContextMenu.Template>contextmenu

我尝试添加rectangle1.contextmenu.isopen=true矩形的事件。是的,它MouseDown会打开。但是,它被设置为在矩形的上方(顶部)打开/弹出,我通过简单地添加到矩形的 XAML 来做到这一点。但是如果我在矩形的事件,然后弹出,但在错误的位置,它不再停留在顶部,而是跟随鼠标。例如,如果我单击矩形的右角,则在右侧打开/弹出。这行为很奇怪,我不知道为什么会发生这种情况。contextmenucontextmenuContextMenuService.Placement="top"rectangle1.contextmenu.isopen=trueMouseDowncontextmenucontextmenu

无论如何,如何contextmenu通过单击鼠标左键打开矩形顶部的 ?

更新

奇怪的是,无论我向其中任何一个添加什么代码mouseevent,上下文菜单都会丢失它的位置!例如,如果我什至添加MsgBox("abc")mouseDown 事件,然后右键单击矩形,上下文菜单就不在顶部!

c# wpf contextmenu

2
推荐指数
1
解决办法
3192
查看次数

标签 统计

contextmenu ×2

wpf ×2

.net ×1

c# ×1

mvvm ×1

xaml ×1