2016-05-17 8 views
0

Wenn eine Zelle in WPF Datagrid bearbeitet, Wenn ich die CellEditEnding Ereignis Wird gestartet, drücken Sie Esc. Stattdessen möchte ich RowEditEnding auslösen.Feuer RowEditEnding Ereignis mit ESCAPE Key

Ich weiß, dass, wenn ich drücken Sie die Taste Flucht einmal, CellEditEnding Ereignis ausgelöst wird und wenn ich Key zweites Mal drücken Escape-Ereignis ausgelöst RowEditEnding. Aber ich will dieses Verhalten nicht. Ich will das, wenn ich die Escape-Taste beim ersten Mal drücke, möchte ich RowEditEnding-Ereignis auslösen.

+0

Warum Sie feuern nicht 'RowEditEnding' wenn' gefeuert CellEditEnding'? – wajeeh

+0

Bitte zeigen XAML von 'DataGrid' und eine Möglichkeit zur Bindung an' DataGrid' ('DataTable' oder' ObservableCollection') – StepUp

+0

@wajeeh können Sie ein Beispiel geben Sie mir bitte? – Vishal

Antwort

2

Von MSDN-Website zu sehen, DataGridCellEditEndingEventArgs und DataGridRowEditEndingEventArgs

So können Sie einen neuen EventArg und geben es an die zweite Methode bauen.

private void CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { 
    DataGridRowEditEndingEventArgs arg = new DataGridRowEditEndingEventArgs(e.Row, e.EditAction); 
    OnRowEditEnding(sender, arg); 
} 

Dann

private void OnRowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { 
    // your code 
} 

Vielleicht gibt es einige Fehler, weil ich nicht gerade jetzt C# IDE haben.

Beachten Sie, dass einige Scheck hinzufügen können von unterscheiden, wo die Methode aufgerufen.

+0

Danke für die Antwort. Ich war nur verwirrt und du hast es so einfach gemacht. – Vishal

+0

Gern können Sie die Antwort bearbeiten, wenn sie einen Tippfehler enthält. @Vishal – wajeeh

Verwandte Themen