首页 > 解决方案 > 当 TextBox 具有 .Text 时,WPF ContextMenuOpening 事件不会触发

问题描述

我有一个最终从 TextBox 派生的用户控件。

我想禁止此控件的右键单击上下文菜单。

我添加了一个代码来拦截用户控件上的 ContextMenuOpening 事件并抑制上下文菜单:

ContextMenuOpening +=  HandleIt;
...
private void HandleIt(object sender, ContextMenuEventArgs e)
{
    e.Handled = true;
}

当控件为空(没有 .Text)时,这可以正常工作。

但是,当控件有一些文本时,甚至不会调用 HandleIt()。

难道我做错了什么?

如何在所有条件下禁止此用户控件的上下文菜单?

标签: c#wpfcontextmenu

解决方案


如何在所有条件下禁止此用户控件的上下文菜单?

C#:

ContextMenu = null;

或 Xaml:

<TextBox ContextMenu="{x:Null}" />

推荐阅读