Silverlight 2 응용 프로그램에서 발생하는 키 입력을 캡처하려고합니다. 입력 필드가 없으며, 게임을 쓰고 있으며 화살표 키 중 어느 것이 눌리고 있는지 알 필요가 있습니다. 이벤트 처리기를 통해이를 캡처하는 방법에 대한 내 생각은 성공적이지 못합니다. 어떤 추천?Silverlight 응용 프로그램에서 키 입력을 캡처하는 방법은 무엇입니까?
1
A
답변
1
(사실상) 다시 만나서 반가워요.
루트 UserControl 요소에서 배선 KeyDown을 이미 시도했다고 가정합니다. 다음은 몇 가지 팁입니다.
플러그인은 키 이벤트를보기 전에 집중해야합니다. 플러그인을 시작하려면 사용자가 강제로 클릭해야합니다.
화살표 키 이벤트를 먹는 다른 요소 (예 : ScrollViewer)가 없는지 확인하십시오. 재생중인 ScrollViewer가있는 경우 KeyUp 만 보입니다.
전체 화면 모드로 전환하지 않습니다.
간단한 누락 된 항목이어야합니다. 희망이 도움이됩니다.
0
루트 Grid에서 KeyDown 및/또는 KeyUp 이벤트를 처리하십시오.
0
Silverlight 2는 KeyUp 및 KeyDown 이벤트를 지원합니다 (KeyPress는 아님).
이 이벤트에서는 KeyEventArgs 개체를 매개 변수로 가져옵니다. 이것으로부터 KeyCode 또는 KeyData를 취득 할 수 있습니다.
0
이 문제와 관련된 다른 포럼의 몇 가지 스레드를 검토 할 때 페이지 (루트) 요소에서 키 이벤트를 처리하고 원하는 효과를 위해 키를 구문 분석 한 다음 특정 컨트롤로 명령을 리디렉션하는 것이 가장 좋습니다 .
페이지
this.KeyDown += (s, e) =>
{
MyControl control = (MyControl)Layoutroot.FindName("controlname");
if(control != null)
{
control.MyPublicFunction(e.Key);
}
};
MyControl
public MyPublicFunciton(Key pressedKey)
{
if(pressedKey == Key.Enter)
{
//Do something
}
}
관련 문제
- 1. 파이썬 데몬으로 키 입력을 캡처하는 방법은 무엇입니까?
- 2. 루비에서 키 입력을 캡처하는 방법은 무엇입니까?
- 3. Linux에서 원시 HID 입력을 캡처하는 방법은 무엇입니까?
- 4. 응용 프로그램에서 키 입력을 허용하지 않습니다.
- 5. X11에서 생 마우스 입력을 캡처하는 방법은 무엇입니까?
- 6. Silverlight 응용 프로그램에서 OS를 감지하는 방법은 무엇입니까?
- 7. Silverlight 응용 프로그램에서 파일을 보내고받는 방법은 무엇입니까?
- 8. Silverlight 앱에서 게시물 데이터를 캡처하는 방법은 무엇입니까?
- 9. Java에서 <tab> 키 입력을 캡처하는 가장 좋은 방법은 무엇입니까?
- 10. 응용 프로그램의 상태를 안전하게 캡처하는 방법은 무엇입니까?
- 11. 키 입력을 창에 보내는 방법은 무엇입니까?
- 12. Silverlight 응용 프로그램에서 링크 관리
- 13. Perl에서 STDIN으로 SCIM을 통해 중국어 입력을 캡처하는 방법은 무엇입니까?
- 14. X에서 키를 캡처하는 방법은 무엇입니까?
- 15. 키보드 저널링을 사용할 수없는 경우 키 입력을 기록하는 방법은 무엇입니까?
- 16. Silverlight 응용 프로그램에서 wcf의 역할은 무엇입니까?
- 17. Silverlight 응용 프로그램에서 AppManifest.xaml 파일의 용도는 무엇입니까?
- 18. WPF 응용 프로그램에서 silverlight 디버깅
- 19. SilverlIght 응용 프로그램에서 JScript 실행
- 20. Silverlight 4 응용 프로그램에서 Word 문서를 만드는 방법은 무엇입니까?
- 21. Silverlight 응용 프로그램에서 차트의 이미지를 클립 보드로 복사하는 방법은 무엇입니까?
- 22. 브라우저 응용 프로그램에서 Silverlight 전체 화면을 최소화하는 방법은 무엇입니까?
- 23. Silverlight 응용 프로그램에서 FTP 서버에서 파일을 다운로드하는 방법은 무엇입니까?
- 24. Silverlight 탐색 응용 프로그램에서 URL의 앞부분을 수정하는 방법은 무엇입니까?
- 25. Silverlight 응용 프로그램에서 기존 비즈니스 논리를 소비하는 방법은 무엇입니까?
- 26. 백 스페이스를 캡처하는 방법은 무엇입니까?
- 27. 응용 프로그램에서 키 입력 받기 방지
- 28. Silverlight 응용 프로그램에서 COM 액세스?
- 29. Silverlight 응용 프로그램에서 파일 다운로드
- 30. Silverlight 응용 프로그램에서 사용자 자격 증명 저장
나는 내가이 함정을 모두 피할 것 같아요. 여기에 내 코드입니다 : 네임 스페이스 ClickTheButton { \t 공공 부분 클래스 레벨 10 : UserControl을 \t { \t \t 공공 레벨 10() \t \t { \t \t \t // 필수 (변수 에게 \t \t \t의 InitializeComponent를 초기화하는); \t \t \t로드 됨 + = 새 RoutedEventHandler (Level10_Loaded); \t \t} \t \t 공극 Level10_Loaded (객체 송신자 RoutedEventArgs E) \t \t \t \t { \t이 LayoutRoot.KeyDown + = 새 KeyEventHandler (LayoutRoot_KeyDown); \t \t} \t \t 공극 LayoutRoot_KeyDown (객체 송신자 KeyEventArgs E) \t \t \t \t { \t (e.Key == Key.Right) \t \t \t \t { \t \t \t // 않으면 이 열쇠는해야한다고. \t \t \t} \t \t} \t} } –
와우 잘 붙여 + 잘라하지 않습니다. –
여기에 KeyDown 이벤트 핸들러를 연결합니다 : LayoutRoot.KeyDown + = 새 KeyEventHandler (LayoutRoot_KeyDown); 그리고 이벤트 처리 메소드에서 e의 Key 값을 평가하려고합니다. 그러나, 내 이벤트 처리 메서드를 호출 한 적이있다 결코 (그리고 난 내 Silverlight 응용 프로그램에 초점을 확신 해요.) –