programing

WPF 창에서 현재 포커스된 요소/컨트롤을 가져옵니다.

i4 2023. 4. 11. 21:40
반응형

WPF 창에서 현재 포커스된 요소/컨트롤을 가져옵니다.

WPF에서 현재 초점을 맞추고 있는 요소/컨트롤을 창이나 사용자 컨트롤의 일부가 아닌 코드에서 취득하려면 어떻게 해야 합니까?

당신이 원하는 타입에 따라 다르겠지만Logical또는Keyboard.

  • 키보드 포커스는 현재 키보드 입력을 받는 요소를 말합니다.키보드 포커스를 가질 수 있는 요소는 데스크톱 전체에서 1개뿐입니다.
  • 논리 포커스는 포커스 스코프가 액티브한 경우 키보드 입력을 수신하는 포커스 스코프 내의 요소를 말합니다.

일반적으로 논리 포커스는 해당 포커스 범위에서 마지막으로 키보드 포커스를 수신한 요소입니다.포커스 범위는 앱, 양식, 최상위 창, 탭 등이 될 수 있습니다.즉, 논리적인 포커스는 키보드 포커스가 마지막으로 있었던 컨트롤이 폼 또는 창에 기억되는 방법입니다.

FocusManager지정된 포커스 범위 내에서 논리 포커스를 가진 요소를 가져옵니다(이 경우 창).this):

IInputElement focusedControl = FocusManager.GetFocusedElement(this);

Keyboard는 현재 키보드 입력 포커스를 가진 요소를 반환합니다.

IInputElement focusedControl =  Keyboard.FocusedElement;

언급URL : https://stackoverflow.com/questions/19392036/get-currently-focused-element-control-in-a-wpf-window

반응형