2010-12-01 2 views
5

텍스트 상자의 KeyDown 이벤트에 이벤트 처리기를 연결했습니다. 이벤트 처리기는 KeyPlatformKeyCode 속성을 갖는 KeyEventArgs 유형의 인수를가집니다. 문제는 및 입니다. 키를 Windows 전화 소프트 키보드에서 누르면 키 값과 PlatformKeyCode은 각각 D149입니다. 어떤 키를 눌렀는지 알 수 없습니다. 또한 Keyboard.Modifiers 정적 속성은 "없음"을 반환합니다.Windows Phone 7 숫자 키패드에서 누른 키 값을 확인하는 방법?

그럼 내가 누른 키를 어떻게 결정합니까?

+0

나는 이것이 쉽다라고 생각했다. 그러나 나는 단지 나의 장치에서 이것을 테스트했다. 그리고 나는 같은 결과를 얻는다. 또한';'과':'키는 모두 186의 PlatformKeyCode와'Key == Key.Unknown'를 가지고 있습니다. 기묘한. – driis

+0

@driis 테스트 및 내 의혹을 확인 주셔서 감사합니다. – rams

답변

2

이것은 알려진 문제입니다.

KeyDown/OnKeyDown and KeyUp/OnKeyUp issues

당신은 항상 1 /의 입력 값 대신 행동을 읽을 수 있습니다! seperately.

+0

링크를 이용해 주셔서 감사합니다. 다행히 문제가 곧 수정 될 것입니다. – rams

+0

동의, 연결 및/또는 공식 제안 포럼에 자유롭게 게시하십시오. –

1

이것은 매우 버그처럼 보입니다.

에뮬레이터와 실제 장치 모두에 존재합니다.

에뮬레이터와 함께 PC 키보드를 사용하는 경우, 키 작동시 수정 키가 감지되므로 작동하지 않습니다.

흥미롭게도 물리적 키보드가있는 장치를 사용하는 경우 기능/시프트 버튼이 활성화 된 경우 다른 버튼을 누르면 2 번의 키 이벤트가 트리거됩니다. 하나는 올바른 키 코드이고 다른 하나는 변경자 키이지만, Keboard.Modifier는 항상 "없음"과 같습니다.

TextChanged 이벤트 전후의 텍스트 상자 값을 읽어야합니다.

+0

실험 및 제안에 감사드립니다. 제한을 극복하기 위해 지금 TextChanged 이벤트로 작업하고 있습니다. – rams