【问题标题】:How do I get a context menu to work on a Telerik RadGridView column?如何让上下文菜单在 Telerik RadGridView 列上工作?
【发布时间】:2010-01-11 18:34:58
【问题描述】:

我有以下方法向 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() { ...

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

【问题讨论】:

    标签: wpf telerik contextmenu radgridview


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 发布代码而不是链接,而链接又引用另一个链接,会更好
      • 尤其是当其他链接发布到您必须下载软件才能编码的页面时。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-04
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      相关资源
      最近更新 更多