InputFocusController 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
- 상속
- 특성
설명
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) |
InputFocusController 지정된 ContentIsland에 대한 개체를 검색합니다. |
TrySetFocus() |
InputFocusController와 연결된 ContentIsland 에 포커스를 설정하려고 시도합니다. |
이벤트
GotFocus |
연결된 ContentIsland 가 포커스를 받을 때 발생합니다. |
LostFocus |
포커스가 연결된 ContentIsland에서 이동될 때 발생합니다. |
NavigateFocusRequested |
Content.ContentIsland 호스트가 ContentIsland에 초점을 맞추려고 할 때 발생합니다. 예를 들어 사용자가 호스트의 요소를 탭하여 이제 ContentIsland로 탭해야 합니다. 호스팅 애플리케이션은 SiteBridge와 연결된 InputFocusNavigationHost에서 InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest)를 호출합니다. 그런 다음 ContentIsland에 대한 InputFocusController 는 이 NavigateFocusRequested 이벤트를 수신하고 포커스를 받을지 여부를 결정할 수 있습니다. |
적용 대상
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기