응용 프로그램 시작 중에 수정 자 키를 눌렀는지 여부를 캡처하여 전체 화면 또는 창으로 결정했습니다.응용 프로그램 시작시 키보드 수정 자
주 창 생성자에서 Keyboard.Modifiers 열거 형을 확인해보고 Shift 키가 눌러져 있는지 확인했습니다. 항상 '없음'을 표시했습니다.
그래서 나는 DispatcherTimer을 시작하고 Tick 이벤트에서 시프트를 확인하여 다른 접근 방식을 시도했습니다. 그게 잘 작동하는 것 같습니다.
질문은 이것이 최선의 (유일한) 방법입니까? 왜 수식어는 창 생성자에서 올바른 값을 반환하지 않습니까?
네 - 타이머 방법보다 더 나은. 하지만 수식어가 컨스트럭터에서 작동하지 않는 이유는 무엇입니까? – PaulB
확실하지 않습니다. 앱이 방금 시작된 이후로 키보드 클래스/기기가 초기화되지 않아야합니다. –
나중에 생성 된 컨트롤의 생성자에서 Keyboard.Modifiers를 사용할 수 있다고 생각합니다. 앱이 방금 시작된 이래로 기본 창이 아닙니다. –