WPF에서 의사 모달 대화 상자를 작성해야한다는 요구 사항이 있습니다. 즉, 소프트웨어가 모달 대화 상자를 생성 할 수없는 일부 특정 (기술) 이유로 인해 대신 사용자는 필요한 경우 "포함 된"모달 대화 상자와 상호 작용해야합니다.IsEnabled를 사용하지 않고 시각적 트리의 일부에서 키보드 및 마우스 이벤트를 비활성화하는 방법은 무엇입니까?
MVVM에서 꽤 잘 작동하고 Dispatcher 및 모달 대화 상자의 동기 문자를 처리하는 솔루션을 발견했습니다. 그러나 백그라운드 GUI에서 사용자 입력을 사용하지 못하게하는 문제가 있습니다. 모든 컨트롤을 으로 설정 IsEnabled = false은 배경 컨트롤 (회색 음영 -> 잘못된 가독성)의 시각적 상태를 변경하므로 안타깝게도 허용되지 않습니다.
시각적 상태를 변경하지 않고 백그라운드에서 사용자 입력 (포커스 및 키보드 포함)을 백그라운드에서 비활성화하는 간단한 방법이 있습니까?
도움 주셔서 감사합니다.
응답 해 주셔서 감사합니다. 불행히도 투명 레이어를 앱에 넣는 것은 솔루션의 절반에 불과합니다 (현재 내가있는 위치). 내 문제는 투명 레이어 아래의 레이어에서 키보드 포커스를 비활성화하는 것입니다. 투명 서페이스 아래에있는 컨트롤로 탭할 수도 있습니다 :-) –
IsTabStop 및 Focusable 속성을 컨트롤에 false로 설정하면 해당 동작을 얻을 수 있지만 ...이 솔루션은별로 우아하지 않습니다. – exclsr