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, указывающий, был ли фокус успешно установлен.
- Атрибуты
Примеры
Здесь мы покажем, как настроить фокус на объект 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 не возвращает вновь ориентированный объект до завершения асинхронной операции.
- Элемент управления потеря фокуса получает события LostFocus синхронно, но не получает LostFocus до завершения асинхронной операции.
- Элемент управления, получая фокус, получает события GettingFocus синхронно, но не получает GotFocus до завершения асинхронной операции.
TryFocusAsync выполняется синхронно при вызове элемента, запущенного в процессе приложения.
Вы также можете использовать метод
Заметка
Мы рекомендуем использовать метод FindNextElement вместо FindNextFocusableElement
, так как FindNextFocusableElement
получает UIElement
, который возвращает null
, если следующий фокусируемый элемент не является UIElement
(например, объект гиперссылки).
См. также раздел
- 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
Направление, которое фокус перемещается от элемента к элементу в пользовательском интерфейсе приложения.
- 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 не возвращает вновь ориентированный объект до завершения асинхронной операции.
- Элемент управления потеря фокуса получает события LostFocus синхронно, но не получает LostFocus до завершения асинхронной операции.
- Элемент управления, получая фокус, получает события GettingFocus синхронно, но не получает GotFocus до завершения асинхронной операции.
TryFocusAsync выполняется синхронно при вызове элемента, запущенного в процессе приложения.
Вы также можете использовать метод
Заметка
Мы рекомендуем использовать метод FindNextElement вместо FindNextFocusableElement
, так как FindNextFocusableElement
получает UIElement
, который возвращает null
, если следующий фокусируемый элемент не является UIElement
(например, объект гиперссылки).
См. также раздел
- TryMoveFocusAsync(FocusNavigationDirection)
- взаимодействия клавиатуры
- Навигация фокуса для клавиатуры, геймпада, удаленного управления и специальных возможностей
- навигация программного фокуса