我想在数据网格中使用上下文菜单
当我右键点击行时,它显示菜单。
当我右键单击下一行时,它没有显示我需要左键单击并再次右键单击。
答案 0 :(得分:2)
如果您使用Silverlight的ContextMenu,这是一个已知问题。
如果单击鼠标右键,控件将设置叠加层。这个叠加层有一个MouseRightButtonDown事件处理程序,但它只关闭上下文菜单。
如果你再次在这里打开它,它就可以了。
为此,您必须下载上下文菜单的src。 (http://silverlight.codeplex.com/SourceControl/list/changesets)和“编写自己的上下文菜单”。如果您按照
更改srcprivate void HandleOverlayMouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
ClosePopup();
OpenPopup(e.GetPosition(null));
e.Handled = true;
}
每次按下MouseRightButtonDown时都会出现上下文菜单。
这不是最好的方法,更好的方法是扩展上下文菜单。但不幸的是,所有必要的方法都是私有的:(
希望这会有所帮助,我在我的项目中就是这样做的,但它确实有效。
答案 1 :(得分:0)