다음을 통해 공유


InputFocusController 클래스

정의

ContentIsland포커스 이벤트의 처리 및 관리를 지원하는 개체를 나타냅니다.

public ref class InputFocusController sealed : InputObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65540)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputFocusController final : InputObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65540)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InputFocusController : InputObject
Public NotInheritable Class InputFocusController
Inherits InputObject
상속
Object Platform::Object IInspectable InputObject InputFocusController
특성

설명

ContentIsland에는 Win32 API 상호 작용하고 Win32 메시지(예: 다양한 입력 메시지)를 받을 수 있는 기본 HWND 있습니다.

ContentIsland기본 HWND가 Win32 포커스를 경우 포커스가 있습니다.

ContentIsland 포커스가 있으면 시스템에서 키보드 입력 메시지를 받습니다. 키보드 입력 이벤트는 InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland) 메서드를 통해 검색되는 InputKeyboardSource 개체에서 처리할 수 있습니다.

메모

Win32 포커스 및 키보드 입력에 대한 자세한 내용은 키보드 입력 개요키보드 포커스 및 활성화 섹션을 참조하세요.

삭제 시 동작

InputFocusController는 특정 ContentIsland연결됩니다. InputFocusController가 삭제되면 해당 연결이 손실되고 모든 이벤트 처리기가 등록 취소됩니다.

연결된 ContentIsland 삭제되면 연결된 InputFocusController도 삭제됩니다.

자세한 내용은 Microsoft.UI.Input.InputObject참조하세요.

스레딩 모델

InputFocusController는 생성된 스레드에서만 사용할 수 있습니다. 다른 스레드의 모든 속성 액세스 또는 함수 호출은 RPC_E_WRONG_THREAD(또는 해당하는 프로젝션된 오류 유형)를 반환합니다.

자세한 내용은 Microsoft.UI.Input.InputObject참조하세요.

속성

DispatcherQueue

InputObject에 대한 DispatcherQueue 가져옵니다.

(다음에서 상속됨 InputObject)
HasFocus

연결된 ContentIsland 포커스가 있는지 여부를 가져옵니다.

메서드

DepartFocus(FocusNavigationRequest)

Content.ContentIsland 호스트에 대한 InputFocusNavigationHost.DepartFocusRequested 이벤트를 발생합니다.

예를 들어 사용자는 ContentIsland 내의 모든 탭 가능 요소를 탭하여 이제 포커스가 아일랜드에서 호스팅 애플리케이션의 다른 항목으로 이동해야 합니다.

GetForIsland(ContentIsland)

지정된 ContentIsland대한 InputFocusController 개체를 검색합니다.

TrySetFocus()

InputFocusController와 연결된 ContentIsland 포커스를 설정하려고 시도합니다.

이벤트

GotFocus

연결된 ContentIsland 포커스를 받을 때 발생합니다.

LostFocus

연결된 ContentIsland포커스를 이동할 때 발생합니다.

NavigateFocusRequested

Content.ContentIsland 호스트가 ContentIsland에 초점을 맞추려고 할 때 발생합니다.

예를 들어 사용자는 호스트의 요소를 탭하여 이제 ContentIsland로 탭해야 합니다. 호스팅 애플리케이션은 SiteBridge연결된 InputFocusNavigationHostInputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) 호출합니다. 그런 다음 ContentIsland에 대한 InputFocusController 이 NavigateFocusRequested 이벤트를 수신하고 포커스를 맞출지 여부를 결정할 수 있습니다.

적용 대상

추가 정보