gpt4 book ai didi

c# - 即使控件没有定义 ContextMenu,也会引发 ContextMenuOpening 事件

转载 作者:行者123 更新时间:2023-11-30 16:30:13 25 4
gpt4 key购买 nike

考虑以下 XAML:

<Window x:Class="ContextMenuEvent.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" ContextMenuOpening="Window_ContextMenuOpening">
<Grid>
<Button>Ok</Button>
</Grid>
</Window>

右键单击该按钮会触发 ContextMenuOpening,即使实际没有出现上下文菜单也是如此。

为什么会这样?只有当上下文菜单真正打开时,我该怎么做才能获得偶数?

我知道我可以使用 ContextMenu.Opened事件,但这只会覆盖一个上下文菜单,我想覆盖表单中的所有(现有)上下文菜单。

最佳答案

不太确定为什么要使用这种方法。但是,您可以轻松检查是否会出现上下文菜单。像这样:

    private void Window_ContextMenuOpening(object sender, ContextMenuEventArgs e) {
var menu = (e.Source as FrameworkElement).ContextMenu;
if (menu != null) {
// etc..
}
}

关于c# - 即使控件没有定义 ContextMenu,也会引发 ContextMenuOpening 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5856660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com