Frage

Ich habe die folgende Methode, die eine neue Spalte ein Telerik RadGridView fügt hinzu:

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) }
                }
            }
        }
    });
}

Das Problem, das ich habe, ist, dass Sie das Kontextmenü erscheint nie, wenn ich auf dem Gitter rechts auf eine beliebige Stelle. Wenn ich binden Sie das Kontextmenü direkt an das Netz, d.

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

dann das Kontextmenü zeigt, aber ich habe keine Möglichkeit, zu bestimmen, welche Spalte der Benutzer mit rechts geklickt auf. Hat jemand Kontextmenü zur Arbeit auf einzelnen Spalten oder Spaltenüberschriften bekommen?

War es hilfreich?

Lösung

Sie können meine Antwort auf Ihr Forum Post überprüfen: http://www.telerik.com/community/forums/ wpf / gridview / column-contextmenu.aspx

Andere Tipps

Ich kann nicht sprechen für Telerik Gitter, aber mit dem Infragistics Gitter würden Sie das Kontextmenü an das Netz anschließen und dann die Mausposition verwenden, um zu bestimmen, was der Benutzer direkt auf im Raster angeklickt. Das Infragistics Gitter hat ein paar anständige Helfer Methoden, um die Treffertests zu erleichtern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top