数据网格中的上下文菜单

时间:2010-10-28 04:23:29

标签: silverlight datagrid silverlight-4.0

我想在数据网格中使用上下文菜单

当我右键点击行时,它显示菜单。

当我右键单击下一行时,它没有显示我需要左键单击并再次右键单击。

2 个答案:

答案 0 :(得分:2)

如果您使用Silverlight的ContextMenu,这是一个已知问题。

如果单击鼠标右键,控件将设置叠加层。这个叠加层有一个MouseRightButtonDown事件处理程序,但它只关闭上下文菜单。

如果你再次在这里打开它,它就可以了。

为此,您必须下载上下文菜单的src。 (http://silverlight.codeplex.com/SourceControl/list/changesets)和“编写自己的上下文菜单”。如果您按照

更改src
private void HandleOverlayMouseRightButtonDown(object sender, MouseButtonEventArgs e)
    {
        ClosePopup();
        OpenPopup(e.GetPosition(null));
        e.Handled = true;
    }

每次按下MouseRightButtonDown时都会出现上下文菜单。

这不是最好的方法,更好的方法是扩展上下文菜单。但不幸的是,所有必要的方法都是私有的:(

希望这会有所帮助,我在我的项目中就是这样做的,但它确实有效。

答案 1 :(得分:0)

请尝试使用此菜单:

http://sl4popupmenu.codeplex.com

它更闷,使用简单。