2016-05-17 4 views
0

セルがWPF Datagridで編集中の場合、エスケープすると、CellEditEndingイベントが発生します。代わりに、私はRowEditEndingを起動したい。エスケープキーを押してRowEditEndingイベントを発生させます。

エスケープキーを1回押すとCellEditEndingイベントが発生し、エスケープキーを2回押すとRowEditEndingイベントが発生することがわかりました。しかし、私はこの行動を望んでいません。エスケープキーを押したときに最初に、私はRowEditEndingイベントを発生させたい。

+0

なぜ 'CellEditEnding'が起動したときに' RowEditEnding'を起動しないのですか? – wajeeh

+0

、DataGridのXAMLとDataGrid(DataTableまたはObservableCollection')にバインドする方法を示してください – StepUp

+0

@wajeeh私に例を挙げてください。 – Vishal

答えて

2

MSDNのWebサイトから新しいEventArgを構築し、第二の方法にそれを渡すことができますのでDataGridCellEditEndingEventArgsDataGridRowEditEndingEventArgs

を見てみましょう。

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

私は今C# IDEを持っていないので、次に

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

はたぶん、いくつかのエラーがあります。

このメソッドが呼び出された場所と区別するために、いくつかのチェックを追加することができます。

+0

ありがとうございます。私はちょうど混乱し、あなたはそれをとても簡単にしました。 – Vishal

+0

あなたが歓迎です、もしそれがタイプミスを含んでいれば、答えを編集してください。 @Vishal – wajeeh

関連する問題