Wie erhalte ich ein Kontextmenü zur Arbeit auf einer Säule Telerik RadGridView?
-
20-09-2019 - |
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?
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.