2012-11-15 3 views
1

RowDetailsTemplate에 다른 DataGrid 컨트롤이 포함 된 WPF4 DataGrid 컨트롤을 사용했습니다. DataGrid 컨트롤에 PreviewKeyDown 이벤트를 추가하고 키보드 작업을 모니터링합니다. 키보드의 Delete 키를 누르면 DataGrid 컨트롤에서 SelectedItems가 삭제됩니다. 내 문제는 RowDetailsTemplate DataGrid 컨트롤에서 행을 삭제하려는 경우입니다. 라우트 된 이벤트, RowDetailsTemplate을 정의하는 부모 DataGrid의 행도 삭제되었습니다. RoutedEvent.RoutingStrategy 설정 때문입니다. 그러나 어떻게 내가 RowDetailsTemplate DataGrid의 행만 삭제할 수 있습니까? 감사합니다. .WPF4 DataGrid RowDetailsTemplate의 DataGrid에서 행 삭제

답변

0

중첩 된 DataGrid에 연결된 동작을 추가하기 만하면됩니다. 그래서 더 이상 삭제 된 이벤트를 버블 해제해서는 안됩니다 ..

+0

내 응용 프로그램에 대한 임시 해결책을 찾았습니다. OriginalSource를 사용하여 삭제 단추가 눌러 진 DataGridCell을 찾은 다음 WPF VisualTree를 통해 DataGridCell을 찾으십시오. 그런 다음 DataGrid.Name을 확인합니다. 이벤트 보낸 사람 이름의 이름이 같으면 사용해야하는 올바른 이벤트 처리기입니다. 그렇지 않으면, 이벤트 라우터를 다음 요소로 보자. – Alvin