WindowsFormsHost.快捷菜单就消失了

本文关键字:消失了 菜单 WindowsFormsHost | 更新日期: 2023-09-27 18:18:10

我在使用WPF应用程序中托管的Visio绘图控制上的上下文菜单时遇到了一些麻烦。DrawingControl是由WindowsFormsHost控件托管的,我想覆盖标准的右键单击行为,添加一个自定义的ContextMenu,像这样:

<WindowsFormsHost Grid.Row="0" Grid.Column="1" Name="_WFHost"
        SnapsToDevicePixels="True">
        <visio:AxDrawingControl x:Name="_drawingControl"/> 
        <WindowsFormsHost.ContextMenu>
            <ContextMenu StaysOpen="True" Name="VisioContextMenu">
                <MenuItem x:Name="QuotaMenuItem" Header="Quota" Click="QuotaMenuItem_Click"/>
                <MenuItem x:Name="TraslaMenuItem" Header="Trasla" Click="TraslaMenuItem_Click"/>
            </ContextMenu>
        </WindowsFormsHost.ContextMenu>
    </WindowsFormsHost>

在代码隐藏文件中,我管理DrawingControl的mouseUp事件,以获得我的上下文菜单显示而不是Visio标准的。上下文菜单(在代码中命名为VisioContextMenu)显示,但大约2秒后,它消失了,如果我不做任何事情或我与它交互。

当我想要显示上下文菜单时,我总是将IsOpen和StaysOpen属性设置为true,但它的行为如前所述。我真不知道该怎么办!

你有什么提示吗?谢谢弗朗西斯科·

WindowsFormsHost.快捷菜单就消失了

如果你发布你的代码也会有所帮助,但我会说,确保你正确地处理mouseup事件。

这可能是唯一的问题-尝试删除该事件。