2012-02-08 3 views
2

그리드에있을 때 일부 키를 캡처하여 처리하려고합니다. "삭제"키를 캡처하고 문제가 없습니다. 그러나 "Return"키를 모으고 셀을 편집 할 때 Return 키를 누르면 편집 셀 모드를 벗어나지 않습니다.DataGrid의 "return"키에 대한 inpunt 바인딩을 만들 때 편집 셀을 벗어나지 않습니다.

반환 값의 키 바인딩을 수행하지 않으면 셀을 편집하는 동안 return 키를 누르면 편집 모드가 끝나고 다음 행으로 이동합니다.

"Return"키 바인딩의 모든 코드에 주석을 달면 문제가 발생하므로 문제는 내가 사용하는 코드가 아니라 반환 키의 비표준 키 바인딩이라고 생각합니다.

반환 키를 캡처하려면 몇 가지 특별한 고려 사항이 있어야합니까?

나는 바인딩을 만들기 위해 XAML에 folling 코드를 사용하고 있습니다 :

<DataGrid.InputBindings> 
       <KeyBinding Key="Delete" Command="{Binding myCommand}" 
          CommandParameter="Delete"/> 

       <KeyBinding Key="Return" Command="{Binding myCommand}" 
          CommandParameter="Return"/> 
      </DataGrid.InputBindings> 
</DataGrid.InputBindings> 

감사합니다. Daimroc.

답변

2

기존 입력 바인딩을 CommitEditCommand으로 덮어 쓰면 기본 동작을 유지하려는 경우 수동으로 해당 명령을 수동으로 실행해야합니다.

+0

내가 MVVM 패턴을 사용하고 (당신은. 명령을 호출 그것에 대해 CommitEdit를 사용할 수 있습니다) 그래서, 내가 어떻게 DatGrid의 것은, commitEdit 명령을 실행할 수 있습니까? –

+0

@Daimroc : 모르겠다. 독창적이어야한다. 반환 명령과 삭제 명령을 나누고 DataGrid를 매개 변수로 전달하여 명령을 호출 할 수있다. –