Compartilhar via


FocusManager.TryMoveFocusAsync Método

Definição

Sobrecargas

TryMoveFocusAsync(FocusNavigationDirection)

Tenta de forma assíncrona alterar o foco do elemento atual com foco para o próximo elemento focalizável na direção especificada.

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

Tenta de forma assíncrona alterar o foco do elemento atual com foco para o próximo elemento focalizável na direção especificada e sujeito às opções de navegação especificadas.

TryMoveFocusAsync(FocusNavigationDirection)

Tenta de forma assíncrona alterar o foco do elemento atual com foco para o próximo elemento focalizável na direção especificada.

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)

Parâmetros

focusNavigationDirection
FocusNavigationDirection

A direção em que o foco se move de elemento para elemento dentro da interface do usuário do aplicativo.

Retornos

O FocusMovementResult que indica se o foco foi definido com êxito.

Atributos

Requisitos do Windows

Família de dispositivos
Windows 10, version 1803 (introduzida na 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v6.0)

Exemplos

Aqui, mostramos como definir o foco em um objeto WebView e, se isso falhar, restaurar o foco para o elemento original.

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

Comentários

TryFocusAsync é concluído de forma síncrona quando chamado em um elemento em execução no processo do aplicativo.

Você também pode usar o método FindNextElement(FocusNavigationDirection, FindNextElementOptions) ou o método FindNextElement(FocusNavigationDirection) para mover o foco programaticamente. Esses métodos recuperam o elemento (como dependencyObject) que receberá o foco com base na direção de navegação especificada (somente navegação direcional, não pode ser usado para emular a navegação de tabulação).

Observação

É recomendável usar o método FindNextElement em vez de FindNextFocusableElement porque FindNextFocusableElement recupera um UIElement, que retorna nulo se o próximo elemento focalizável não for um UIElement (como um objeto Hyperlink ).

Confira também

Aplica-se a

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

Tenta de forma assíncrona alterar o foco do elemento atual com foco para o próximo elemento focalizável na direção especificada e sujeito às opções de navegação especificadas.

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)

Parâmetros

focusNavigationDirection
FocusNavigationDirection

A direção em que o foco se move de elemento para elemento dentro da interface do usuário do aplicativo.

focusNavigationOptions
FindNextElementOptions

As opções de navegação usadas para identificar o candidato de foco.

Retornos

O FocusMovementResult que indica se o foco foi definido com êxito.

Atributos

Requisitos do Windows

Família de dispositivos
Windows 10, version 1803 (introduzida na 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v6.0)

Exemplos

Aqui, mostramos como definir o foco em um objeto WebView e, se isso falhar, restaurar o foco para o elemento original.

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

Comentários

TryFocusAsync é concluído de forma síncrona quando chamado em um elemento em execução no processo do aplicativo.

Você também pode usar o método FindNextElement(FocusNavigationDirection, FindNextElementOptions) ou o método FindNextElement(FocusNavigationDirection) para mover o foco programaticamente. Esses métodos recuperam o elemento (como dependencyObject) que receberá o foco com base na direção de navegação especificada (somente navegação direcional, não pode ser usado para emular a navegação de tabulação).

Observação

É recomendável usar o método FindNextElement em vez de FindNextFocusableElement porque FindNextFocusableElement recupera um UIElement, que retorna nulo se o próximo elemento focalizável não for um UIElement (como um objeto Hyperlink ).

Confira também

Aplica-se a