我目前正在编写一个WPF
应用程序,其中 myDataGrid
绑定到一组对象。我需要一个在用户更改单元格时触发的事件。当我的集合中有超过 1 行/对象时,这可以正常工作。
这是我的场景:
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;
}
关于我还能做什么的任何想法?