0
나는 현재 내 DataGrid
이 개체의 컬렉션에 바인딩 된 WPF
응용 프로그램을 쓰고 있어요 변경에 CurrentCellChanged. 사용자가 셀을 변경할 때 트리거되는 이벤트가 필요합니다. 내 컬렉션에 두 개 이상의 행/개체가있을 때이 작동합니다. 내가 4 열에 값을 입력하면세포는
COLUMN 1 | COLUMN 2 | COLUMN 3 | COLUMN 4
test | test 1 | test | 1000
, 나는 이벤트를 트리거 및 열 4의 값에 입력 한 사용자가 다른 할 것으로 판단 할 수 있도록하려면 다음은
내 시나리오입니다 호출/계산. Microsoft DataGrid 3.5에서는 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;
}
어떤 아이디어 : 여기
내가 가진 것을 내 코드? 당신에
왜 그 difficault :
SomeItem
에서뭔가를 변경/
SomeItem
의 속성에 대응 듣다 INotifyPropertyCahngedViewModel
에서이 이벤트는 셀을 입력 할 때마다 트리거됩니다. 그것은 어느 것을 결정하기가 어렵습니다. 정확히 초점이 셀에 들어가거나 떠났을 때와 사라진 시점을 확인하는 더 좋은 방법이 있는지 궁금합니다. –