FocusManager.TryMoveFocusAsync Метод

Определение

Перегрузки

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

Направление перемещения фокуса от элемента к элементу в пользовательском интерфейсе приложения.

Возвращаемое значение

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); 
    } 
}

Комментарии

TryFocusAsync выполняется синхронно при вызове элемента, выполняющегося в процессе приложения.

Для программного перемещения фокуса можно также использовать метод FindNextElement(FocusNavigationDirection, FindNextElementOptions) или метод FindNextElement(FocusNavigationDirection). Эти методы извлекают элемент (как DependencyObject), который будет получать фокус на основе указанного направления навигации (только направленная навигация, не может использоваться для эмуляции навигации по вкладкам).

Примечание

Мы рекомендуем использовать метод FindNextElement вместо FindNextFocusableElement, так как FindNextFocusableElement извлекает UIElement, который возвращает значение NULL, если следующий фокусируемый элемент не является UIElement (например, объект Hyperlink ).

См. также раздел

Применяется к

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

Направление перемещения фокуса от элемента к элементу в пользовательском интерфейсе приложения.

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); 
    } 
}

Комментарии

TryFocusAsync выполняется синхронно при вызове элемента, выполняющегося в процессе приложения.

Для программного перемещения фокуса можно также использовать метод FindNextElement(FocusNavigationDirection, FindNextElementOptions) или метод FindNextElement(FocusNavigationDirection). Эти методы извлекают элемент (как DependencyObject), который будет получать фокус на основе указанного направления навигации (только направленная навигация, не может использоваться для эмуляции навигации по вкладкам).

Примечание

Мы рекомендуем использовать метод FindNextElement вместо FindNextFocusableElement, так как FindNextFocusableElement извлекает UIElement, который возвращает значение NULL, если следующий фокусируемый элемент не является UIElement (например, объект Hyperlink ).

См. также раздел

Применяется к