私は現在、オブジェクトのコレクションにバインドされているWPF
アプリケーションを作成しています。DataGrid
ユーザーがセルを変更したときにトリガーされるイベントが必要です。コレクションに複数の行/オブジェクトがある場合、これはうまく機能します。
これが私のシナリオです:
COLUMN 1 | COLUMN 2 | COLUMN 3 | COLUMN 4
test | test 1 | test | 1000
列 4 に値を入力すると、イベントをトリガーし、ユーザーが列 4 の値を入力したことを判断して、他の呼び出し/計算を行うことができるようにしたいと考えています。3.5 の Microsoft DataGrid では、1 行のみを処理する場合、これは困難です。
ここに私が持っている私のコードがあります:
private void PART_DataGrid_CurrentCellChanged(object sender, EventArgs e)
{
Microsoft.Windows.Controls.DataGridColumn currentColumn = (sender as Presentation.DataGrid).CurrentColumn;
if (currentColumn == null || currentColumn.DisplayIndex != 3 || !m_isEditedFinished)
return;
if (m_vm.MYCommand.CanExecute(null))
{
if (CurrentRow != null)
{
if (m_isEditedFinished)
{
m_vm.MYCommand.Execute(new EnterUserCountCommandParameters()
{
ViewModel = m_vm,
Item = CurrentRow
});
m_isEditedFinished = false;
}
}
}
}
private Boolean m_isEditedFinished = false;
private void OnCellEditEnding(object sender, Microsoft.Windows.Controls.DataGridCellEditEndingEventArgs e)
{
CurrentRow = e.Row.Item;
m_isEditedFinished = true;
}
他に何ができるかについてのアイデアはありますか?