當在WPF Datagrid中編輯任何單元格時,如果我按Esc鍵退出CellEditEnding事件。相反,我想要觸發RowEditEnding。通過按退出鍵激活RowEditEnding事件
我知道,當我按下Esc鍵一次,CellEditEnding事件觸發,並且當我第二次按下Esc鍵時,RowEditEnding事件觸發。但我不想要這種行爲。我希望當我按下Esc鍵時第一次,我想要觸發RowEditEnding事件。
當在WPF Datagrid中編輯任何單元格時,如果我按Esc鍵退出CellEditEnding事件。相反,我想要觸發RowEditEnding。通過按退出鍵激活RowEditEnding事件
我知道,當我按下Esc鍵一次,CellEditEnding事件觸發,並且當我第二次按下Esc鍵時,RowEditEnding事件觸發。但我不想要這種行爲。我希望當我按下Esc鍵時第一次,我想要觸發RowEditEnding事件。
從MSDN網站看看DataGridCellEditEndingEventArgs和DataGridRowEditEndingEventArgs
所以,你可以建立一個新的EventArg
並將其傳遞給第二個方法。
private void CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) {
DataGridRowEditEndingEventArgs arg = new DataGridRowEditEndingEventArgs(e.Row, e.EditAction);
OnRowEditEnding(sender, arg);
}
然後
private void OnRowEditEnding(object sender, DataGridRowEditEndingEventArgs e) {
// your code
}
也許有一些錯誤,因爲我沒有C#
IDE現在。
請注意,您可以添加一些檢查以區別調用的方法。
爲什麼當'CellEditEnding'激發時不會觸發'RowEditEnding'? – wajeeh
請顯示DataGrid的XAML和綁定到DataGrid的方法(DataTable或ObservableCollection) – StepUp
@wajeeh請給我一個例子嗎? – Vishal