我在使用承载在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标准菜单。ContextMenu (在代码名为VisioContextMenu)出现了,但大约2秒后,如果我什么都不做,或者我与它交互,它都会消失。
当我想要显示ContextMenu时,我总是将IsOpen和StaysOpen属性设置为true,但它的行为如前所述。我真的不知道该怎么办!
你有什么提示吗?感谢弗朗西斯科
发布于 2012-02-29 03:55:49
如果您也发布了您的代码,这将有所帮助,但我要说的是,确保您正确地处理了mouseup事件。
这本身就可能是问题所在--试着删除该事件。
https://stackoverflow.com/questions/8538577
复制相似问题