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.
- 특성
예제
여기서는 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);
}
}
설명
- FocusManager.TryMoveFocus 메서드는 포커스 변경이 완료되기 전에 true(성공)를 반환합니다.
- GetFocusedElement 비동기 작업이 완료될 때까지 새로 포커스가 있는 개체를 반환하지 않습니다.
- 포커스가 손실된 컨트롤은
LosingFocus 이벤트를 동기적으로 받지만 비동기 작업이 완료될 때까지 LostFocus받지 않습니다. - 포커스를 가져오는 컨트롤은 GettingFocus 이벤트를 동기적으로 수신하지만 비동기 작업이 완료될 때까지 GotFocus 수신하지 않습니다.
TryFocusAsync 앱 프로세스에서 실행 중인 요소에서 호출되면 동기적으로 완료됩니다.
FindNextElement(FocusNavigationDirection, FindNextElementOptions) 메서드 또는 FindNextElement(FocusNavigationDirection) 메서드를 사용하여 프로그래밍 방식으로 포커스를 이동할 수도 있습니다. 이러한 메서드는 지정된 탐색 방향에 따라 포커스를 받는 요소(DependencyObject)를 검색합니다(방향 탐색만 탭 탐색을 에뮬레이트하는 데 사용할 수 없음).
메모
FindNextFocusableElement
UIElement
검색하므로 FindNextElement 메서드 FindNextFocusableElement
를 사용하는 것이 좋습니다. FindNextFocusableElement
다음 포커스 가능한 요소가 UIElement
아닌 경우 null
반환합니다(예: Hyperlink 개체).
추가 정보
- 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.
- 특성
예제
여기서는 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);
}
}
설명
- FocusManager.TryMoveFocus 메서드는 포커스 변경이 완료되기 전에 true(성공)를 반환합니다.
- GetFocusedElement 비동기 작업이 완료될 때까지 새로 포커스가 있는 개체를 반환하지 않습니다.
- 포커스가 손실된 컨트롤은
LosingFocus 이벤트를 동기적으로 받지만 비동기 작업이 완료될 때까지 LostFocus받지 않습니다. - 포커스를 가져오는 컨트롤은 GettingFocus 이벤트를 동기적으로 수신하지만 비동기 작업이 완료될 때까지 GotFocus 수신하지 않습니다.
TryFocusAsync 앱 프로세스에서 실행 중인 요소에서 호출되면 동기적으로 완료됩니다.
FindNextElement(FocusNavigationDirection, FindNextElementOptions) 메서드 또는 FindNextElement(FocusNavigationDirection) 메서드를 사용하여 프로그래밍 방식으로 포커스를 이동할 수도 있습니다. 이러한 메서드는 지정된 탐색 방향에 따라 포커스를 받는 요소(DependencyObject)를 검색합니다(방향 탐색만 탭 탐색을 에뮬레이트하는 데 사용할 수 없음).
메모
FindNextFocusableElement
UIElement
검색하므로 FindNextElement 메서드 FindNextFocusableElement
를 사용하는 것이 좋습니다. FindNextFocusableElement
다음 포커스 가능한 요소가 UIElement
아닌 경우 null
반환합니다(예: Hyperlink 개체).
추가 정보
- TryMoveFocusAsync(FocusNavigationDirection)
- 키보드 조작
- 키보드, 게임 패드, 원격 제어 및 접근성 도구 대한
포커스 탐색 - 프로그래밍 방식 포커스 탐색