如何获取上下文菜单以使用Telerik RadGridView列?

时间:2010-01-11 18:34:59

标签: wpf telerik contextmenu radgridview

我有以下方法将新列添加到Telerik RadGridView:

private void CreateNewColumn(FieldDescriptor fd, uint fieldno) {
    fieldGrid.Columns.Add(new GridViewDataColumn() {
        UniqueName = fd.fieldName,
        Header = fd.displayName,
        DataMemberBinding = new Binding("Fields[" + fieldno + "]"),
        ContextMenu = new ContextMenu() {
            Tag = fieldno,
            Items = {
                new MenuItem() {
                    Header = "Field Properties",
                    Command = Commands.FieldProperties,
                    CommandBindings = { new CommandBinding(Commands.FieldProperties, FieldProperties_Execute) } 
                },
                new MenuItem() {
                    Header = "Delete Field",
                    Command = Commands.DeleteField,
                    CommandBindings = { new CommandBinding(Commands.DeleteField, DeleteField_Execute) }
                }
            }
        }
    });
}

我遇到的问题是当我右键单击网格上的任何位置时,上下文菜单永远不会出现。如果我将上下文菜单直接绑定到网格,即

fieldGrid.ContextMenu = new ContextMenu() { ...

然后显示上下文菜单,但我无法确定用户右键单击哪一列。有没有人获得上下文菜单来处理单个列或列标题?

2 个答案:

答案 0 :(得分:0)

我不能代表Telerik的网格,但是使用Infragistics网格,您可以将上下文菜单附加到网格,然后使用鼠标位置来确定用户在网格中右键单击的内容。 Infragistics网格有一些不错的辅助方法来促进命中测试。

答案 1 :(得分:0)

您可以在论坛帖子中查看我的答案: http://www.telerik.com/community/forums/wpf/gridview/column-contextmenu.aspx

相关问题