FocusManager.TryMoveFocusAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
TryMoveFocusAsync(FocusNavigationDirection) |
포커스가 있는 현재 요소에서 지정된 방향의 다음 포커스 가능 요소로 포커스를 비동기적으로 변경하려고 시도합니다. |
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions) |
포커스가 있는 현재 요소에서 지정된 방향의 다음 포커스 가능 요소로 포커스를 변경하고 지정된 탐색 옵션에 따라 포커스를 변경하려고 비동기적으로 시도합니다. |
TryMoveFocusAsync(FocusNavigationDirection)
포커스가 있는 현재 요소에서 지정된 방향의 다음 포커스 가능 요소로 포커스를 비동기적으로 변경하려고 시도합니다.
public:
static IAsyncOperation<FocusMovementResult ^> ^ TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
/// [Windows.Foundation.Metadata.Overload("TryMoveFocusAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection const& focusNavigationDirection);
[Windows.Foundation.Metadata.Overload("TryMoveFocusAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
function tryMoveFocusAsync(focusNavigationDirection)
Public Shared Function TryMoveFocusAsync (focusNavigationDirection As FocusNavigationDirection) As IAsyncOperation(Of FocusMovementResult)
매개 변수
- focusNavigationDirection
- FocusNavigationDirection
포커스가 앱 UI 내에서 요소에서 요소로 이동하는 방향입니다.
반환
포커스가 성공적으로 설정되었는지 여부를 나타내는 FocusMovementResult 입니다.
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10, version 1803 (10.0.17134.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v6.0에서 도입되었습니다.)
|
예제
여기서는 WebView 개체에 포커스를 설정하는 방법을 보여 하며, 실패하면 원래 요소로 포커스를 복원합니다.
async void MoveFocus(WebView webView))
{
FocusMovementResult result;
result = await FocusManager.TryFocusAsync(webView, FocusState.Programmatic);
if (!result.Succeeded)
{
// Restore focus to original element.
this.Focus(FocusState.Programmatic);
}
}
설명
- TryMoveFocus(Windows.UI.Xaml.Input.FocusNavigationDirection focusNavigationDirection) 및 FocusManager.TryMoveFocus(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions) 는 포커스 변경이 완료되기 전에 true(성공)를 반환합니다.
- GetFocusedElement 는 비동기 작업이 완료될 때까지 새로 포커스가 있는 개체를 반환하지 않습니다.
- 포커스를 잃는 컨트롤은 LosingFocus 이벤트를 동기적으로 수신하지만 비동기 작업이 완료될 때까지 LostFocus 를 받지 않습니다.
- 포커스를 가져오는 컨트롤은 GettingFocus 이벤트를 동기적으로 다시 수신하지만 비동기 작업이 완료될 때까지 GotFocus 를 수신하지 않습니다.
TryFocusAsync 는 앱 프로세스에서 실행되는 요소에서 호출되면 동기적으로 완료됩니다.
FindNextElement(FocusNavigationDirection, FindNextElementOptions) 메서드 또는 FindNextElement(FocusNavigationDirection) 메서드를 사용하여 프로그래밍 방식으로 포커스를 이동할 수도 있습니다. 이러한 메서드는 지정된 탐색 방향에 따라 포커스를 받을 요소( DependencyObject)를 검색합니다(방향 탐색만, 탭 탐색을 에뮬레이트하는 데 사용할 수 없음).
참고
FindNextFocusableElement는 다음 포커스 가능 요소가 UIElement(예: Hyperlink 개체)가 아닌 경우 null을 반환하는 UIElement를 검색하므로 FindNextFocusableElement 대신 FindNextElement 메서드를 사용하는 것이 좋습니다.
추가 정보
- TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
- 키보드 조작
- 키보드, 게임 패드, 원격 제어 및 접근성 도구에 대한 포커스 탐색
- 프로그래밍 방식 포커스 탐색
적용 대상
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
포커스가 있는 현재 요소에서 지정된 방향의 다음 포커스 가능 요소로 포커스를 변경하고 지정된 탐색 옵션에 따라 포커스를 변경하려고 비동기적으로 시도합니다.
public:
static IAsyncOperation<FocusMovementResult ^> ^ TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions ^ focusNavigationOptions);
/// [Windows.Foundation.Metadata.Overload("TryMoveFocusWithOptionsAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection const& focusNavigationDirection, FindNextElementOptions const& focusNavigationOptions);
[Windows.Foundation.Metadata.Overload("TryMoveFocusWithOptionsAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions);
function tryMoveFocusAsync(focusNavigationDirection, focusNavigationOptions)
Public Shared Function TryMoveFocusAsync (focusNavigationDirection As FocusNavigationDirection, focusNavigationOptions As FindNextElementOptions) As IAsyncOperation(Of FocusMovementResult)
매개 변수
- focusNavigationDirection
- FocusNavigationDirection
포커스가 앱 UI 내에서 요소에서 요소로 이동하는 방향입니다.
- focusNavigationOptions
- FindNextElementOptions
포커스 후보를 식별하는 데 사용되는 탐색 옵션입니다.
반환
포커스가 성공적으로 설정되었는지 여부를 나타내는 FocusMovementResult 입니다.
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10, version 1803 (10.0.17134.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v6.0에서 도입되었습니다.)
|
예제
여기서는 WebView 개체에 포커스를 설정하는 방법을 보여 하며, 실패하면 원래 요소로 포커스를 복원합니다.
async void MoveFocus(WebView webView))
{
FocusMovementResult result;
result = await FocusManager.TryFocusAsync(webView, FocusState.Programmatic);
if (!result.Succeeded)
{
// Restore focus to original element.
this.Focus(FocusState.Programmatic);
}
}
설명
- TryMoveFocus(Windows.UI.Xaml.Input.FocusNavigationDirection focusNavigationDirection) 및 FocusManager.TryMoveFocus(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions) 는 포커스 변경이 완료되기 전에 true(성공)를 반환합니다.
- GetFocusedElement 는 비동기 작업이 완료될 때까지 새로 포커스가 있는 개체를 반환하지 않습니다.
- 포커스를 잃는 컨트롤은 LosingFocus 이벤트를 동기적으로 수신하지만 비동기 작업이 완료될 때까지 LostFocus 를 받지 않습니다.
- 포커스를 가져오는 컨트롤은 GettingFocus 이벤트를 동기적으로 다시 수신하지만 비동기 작업이 완료될 때까지 GotFocus 를 수신하지 않습니다.
TryFocusAsync 는 앱 프로세스에서 실행되는 요소에서 호출되면 동기적으로 완료됩니다.
FindNextElement(FocusNavigationDirection, FindNextElementOptions) 메서드 또는 FindNextElement(FocusNavigationDirection) 메서드를 사용하여 프로그래밍 방식으로 포커스를 이동할 수도 있습니다. 이러한 메서드는 지정된 탐색 방향에 따라 포커스를 받을 요소( DependencyObject)를 검색합니다(방향 탐색만, 탭 탐색을 에뮬레이트하는 데 사용할 수 없음).
참고
FindNextFocusableElement는 다음 포커스 가능 요소가 UIElement(예: Hyperlink 개체)가 아닌 경우 null을 반환하는 UIElement를 검색하므로 FindNextFocusableElement 대신 FindNextElement 메서드를 사용하는 것이 좋습니다.
추가 정보
- TryMoveFocusAsync(FocusNavigationDirection)
- 키보드 조작
- 키보드, 게임 패드, 원격 제어 및 접근성 도구에 대한 포커스 탐색
- 프로그래밍 방식 포커스 탐색