我在WPF应用程序中托管的Visio Drawing Control上使用上下文菜单时遇到了一些麻烦。 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标准菜单。 ContextMenu(在名为VisioContextMenu的代码中)显示但在大约2秒后它会消失,如果我什么都不做或我与它交互。
当我想显示ContextMenu时,我总是将IsOpen和StaysOpen属性设置为true,但它的行为如前所述。我真的不知道该怎么做!
你有一些提示吗? 谢谢 弗朗西斯
答案 0 :(得分:0)
如果您发布了代码也会有所帮助,但我会说确保您正确处理了mouseup事件。
仅此一点可能是问题 - 尝试删除该事件。