WPF KeyGesture
클래스의 도움으로 일부 WPF 명령을 실행하려고합니다. 응용 프로그램은 Shift 수정 자와 영숫자 키로 구성된 키 조합을 지정할 때까지 잘 작동합니다. 예를 들어, 인스턴스 다음KeyGesture가 Shift + 영숫자 키 조합을 허용하지 않습니다.
'Shift + M'키 개질제 조합 KeyGesture 지원되지 않습니다
new KeyGesture(Key.M, ModifierKeys.Shift)
예외가 발생.
베어 시프트 수정 (예를 들어 시프트 + 2) 너무 숫자가 작동하지 않습니다. 그러나 시프트 + 또는 시프트 + 조합이 완벽하게 작동합니다. 그냥 명확 넣어, 시프트 + Ctrl 키, 시프트 + Alt 키 또는 Alt 키 + 1 및 모두에 문제가 없습니다.
왜 금지 결정을 내렸습니까 시프트 + [영숫자] 제스처? 대문자를 입력하는 것과 공통점이 있습니까? WPF 명령 시스템과 일관된 해결 방법이 있습니까? (참고 :. 텍스트 상자를 작성하는 동안 내가하는 시프트 + M 제스처를 사용하려고 아니지만, 오히려 더 텍스트 상자에 포커스가 없을 때는)
나는 단 하나 개의 포럼을 찾을 수가 이 문제가 제기 된 항목 문서 검색에 실패했습니다. 개발자들이 피하는 것이 아주 당연한가 Shift + [영숫자]?
도대체 더 이상입니까? 왜? 나는이 문제에 대해 머리를 맞췄다. 문제는 레거시 (읽기 : 돈 만들기) 응용 프로그램에서 기능을 복제하려고합니다. –
@lainMH : 음,이 문제에 대한 지식은이 질문을 게시 한 시점에서 변하지 않았습니다. 대부분의 응용 프로그램에서 텍스트 삽입과 충돌하기 때문입니다. 창 수준에서 Shift + 키 조합을 처리 할 수 있습니다. 그러나 더 나은 솔루션은 Shift + 키 제스처를 피하는 것입니다. 특별한 경우에만 작동하기 때문입니다. 텍스트 상자에 포커스가있는 경우 키 입력은 문자 입력으로 만 처리됩니다. 따라서 Shift + 키에 바인딩 된 명령은 수시로 작동하여 고객을 미친 듯이 유도 할 수 있습니다. – pbalaga