问题标签 [contextmenu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1869 浏览

c# - 在表单外显示/隐藏 ContextMenuStrip

我正在创建一个简单的剪贴板管理器应用程序。它监视剪贴板的内容。当发生更改时(通过 win api 消息循环),它会启动一个方法来捕获剪贴板的当前内容并创建名为 clipboarditem 的新对象。接下来它构建了一个 ContextMeuStrip,它由之前创建的几个剪贴板项组成。通过热键访问项目菜单。它在屏幕 itemsMenu.Show(caretPosition); 的某个位置显示此菜单,使用 .Focus(),我希望它在失去焦点后使其消失(例如,单击屏幕上的其他位置或通过以下方式切换应用程序alt 选项卡)。找到一个事件 OnLoseFocus 但我认为它不能正常工作,因为菜单甚至不会显示。

失去焦点后如何使 ContextMenuStrip 消失以及如何防止在 taskabr 中显示 ContextMenuStrip?

对不起我的语言能力:)

0 投票
3 回答
2507 浏览

wpf - WPF MVVM:找出单击了哪个标题上下文菜单

我正在尝试使用 MVVM 模式来编写 WPF 应用程序。我正在使用缺少自动过滤功能的 WPF 数据网格(来自工具包)。所以我想实现它。我在列标题模板中添加了一个上下文菜单,它有一个名为“Filter”的 MenuItem,它实际上应该调用过滤方法。

因此,我将 MenuItem 的命令设置为适合 ViewModel 的 DelegateCommand。问题是我需要传递有关已右键单击的实际列的信息!如果我没有使用 MVVM,我会实现一个事件处理程序,它会接收一个“发送者”参数(MenuItem),然后我会找到它的父级(ContextMenu),然后它的父级会给我列。但是我怎样才能在这里实现同样的目标呢?如何将发件人传递给我的命令?这可以使用命令参数来完成吗?

我真的不想使用额外的复杂模式来完成这样一个简单的任务。毕竟,MVVM 应该简化开发,而不是相反......

0 投票
2 回答
4181 浏览

wpf - 如何从 TreeView ContextMenu 获取 MenuItem 单击事件

我将 TreeViewItems 插入 TreeView 控件并在插入时为每个控件设置样式。我正在分配不同的样式(在 XAML 中预定义),具体取决于我要插入的节点 (TreeViewItem) 的类型。一些样式包括 ContextMenu。

我的问题是我无法在 MenuItems 上使用 Click="MyHandler";我收到错误消息“根元素需要 ax:Class 属性来支持 XAML 文件中的事件处理程序。” 显然 Style 块中的所有元素都不是根元素。

任何建议都非常感谢。

XAML:

C#:

0 投票
2 回答
849 浏览

wpf - 更改上下文菜单的宽度会导致渲染效果不佳

我想做的就是在 aContextMenu上设置一个Button宽度限制为Button' 的宽度。显然这太过分了。如果您打开ContextMenu然后减小大小Button并再次打开它,一切正常(Width变小)。如果您增加Width(例如从 100 到 200),则ContextMenu'Width也会增加(到 200),但它只会呈现前一个Width(100)。Width我在代码中更改了自己,改为使用,ActualWidth但虽然值看起来不错,但上下文菜单的渲染效果很差。

0 投票
2 回答
1649 浏览

wpf - 每次打开 ContextMenu 时如何强制绑定评估?

我有一个带有 MenuItem 的 ContextMenu:

Test 属性如下所示:

当我右键单击按钮时,我有,例如“Test 41”。下次我打开菜单时,我的值相同。有没有办法强制菜单每次都评估绑定?(然后有“测试 3”、“测试 45”、“测试 65”......

0 投票
2 回答
1689 浏览

c# - c# winforms上下文菜单事件问题

我向树视图动态添加了一个上下文菜单(添加、取消)。现在我想在单击上下文菜单项单击时显示选定的树节点值。

我怎样才能做到这一点?

0 投票
3 回答
10118 浏览

javascript - 如何触发元素上的浏览器上下文菜单。(就像用户右键单击一样)

我需要通过 javascript 触发打开浏览器(IE、Firefox、Safari 等)上下文菜单。我要解决的问题是,当右键单击覆盖的元素时,它下面的元素会显示其上下文菜单。因此,如果顶部元素是标签,当您右键单击时,我需要显示下面输入元素的上下文菜单。

我知道如何不显示标签的上下文菜单,但我不知道如何任意打开上下文菜单。

任何帮助表示赞赏!

0 投票
1 回答
2826 浏览

wpf - ContextMenu.StaysOpen 属性 (WPF)

这里有一个简单的问题:(或等效的)控件的StaysOpen属性实际上是做什么的?我曾尝试观察行为上的差异,但我没有注意到任何东西。ContextMenuPopup

MSDN 声明如下:

如果菜单在 IsOpen 属性更改为 false 之前应保持打开状态,则为 true;否则为假。默认值为假。

但是,这真的很模糊,对我没有帮助。我以前猜测只有在代码中设置为 false 时才会关闭弹出窗口IsOpen- 而不是在它失去焦点/鼠标捕获(我想要的行为)时关闭,但情况似乎并非如此。

有人可以解释一下这个属性到底是做什么的吗?理想情况下,一个例子表明行为上的差异将是最有帮助的。最后,如果您对如何获得我想要的行为有任何建议,那就太好了。

0 投票
2 回答
1479 浏览

wpf - WPF:抑制 ListView 的 ContextMenu

我有一个用 XAML 代码编写的 WPFListView控件。ContextMenu每次右键单击都会显示ListViewContextMenu即使 中没有项目ListView

这是我不想要的行为。仅当ContextMenu中有项目时才应打开ListView。我对项目进行计数没有问题,但我没有找到合适的事件来抑制ContextMenu.

我怎样才能做到这一点?

0 投票
2 回答
2829 浏览

wpf - 除非单击边框/标题,否则 WPF GroupBox ContextMenu 不会显示

我有一个场景,GroupBox其中包含一些内容。我希望添加一个ContextMenuGroupBox在用户右键单击框中的任何位置时显示该菜单。

我遇到的问题是上下文菜单仅在单击边框或标题时出现GroupBox。如果您单击框内的某处,则ContextMenu显示的是父级的。

下面是一些演示该问题的 XAML:

因此,当您在 内部单击时GroupBox,您总是会出现“窗口菜单”,但我想要的是“组菜单”。

有谁知道为什么会发生这种情况以及我可能如何解决它?

非常感谢。

橙汁