Come faccio ad avere un menu di scelta rapida per lavorare su una colonna Telerik RadGridView?
-
20-09-2019 - |
Domanda
Ho il seguente metodo che aggiunge una nuova colonna a un 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) }
}
}
}
});
}
Il problema che sto avendo è che il menu di contesto non appare mai quando mi fate clic destro in qualsiasi punto della rete. Se mi legano il menu contestuale direttamente alla griglia, cioè.
fieldGrid.ContextMenu = new ContextMenu() { ...
quindi il menu di contesto si presenta, ma non ho modo di determinare quale colonna l'utente fa click destro su. Qualcuno ha ottenuto i menu contestuali per lavorare su singole colonne o intestazioni di colonna?
Soluzione
È possibile controllare la mia risposta sul tuo post sul forum: http://www.telerik.com/community/forums/ WPF / gridView / colonna-contextmenu.aspx
Altri suggerimenti
Non posso parlare per la griglia di Telerik, ma con la griglia Infragistics si dovrebbe collegare il menu contestuale per la griglia, e quindi utilizzare la posizione del mouse per determinare ciò che l'utente giusto cliccato nella griglia. La griglia Infragistics ha alcuni metodi di supporto decente per facilitare il rilevamento del contatto.