Compartir a través de


FocusManager.TryMoveFocusAsync Método

Definición

Sobrecargas

TryMoveFocusAsync(FocusNavigationDirection)

Intenta cambiar de forma asincrónica el foco del elemento actual con el foco al siguiente elemento que se puede centrar en la dirección especificada.

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

Intenta cambiar de forma asincrónica el foco del elemento actual con el foco al siguiente elemento que se puede centrar en la dirección especificada y sujeto a las opciones de navegación especificadas.

TryMoveFocusAsync(FocusNavigationDirection)

Intenta cambiar de forma asincrónica el foco del elemento actual con el foco al siguiente elemento que se puede centrar en la dirección 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

La dirección en la que el foco se mueve del elemento al elemento dentro de la interfaz de usuario de la aplicación.

Devoluciones

FocusMovementResult que indica si el foco se estableció correctamente.

Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10, version 1803 (se introdujo en la versión 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v6.0)

Ejemplos

Aquí se muestra cómo establecer el foco en un objeto WebView y, si se produce un error, se restaura el foco en el 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); 
    } 
}

Comentarios

TryFocusAsync se completa de forma sincrónica cuando se llama a en un elemento que se ejecuta en el proceso de la aplicación.

También puede usar el método FindNextElement(FocusNavigationDirection, FindNextElementOptions) o el método FindNextElement(FocusNavigationDirection) para mover el foco mediante programación. Estos métodos recuperan el elemento (como dependencyObject) que recibirá el foco en función de la dirección de navegación especificada (solo navegación direccional, no se puede usar para emular la navegación por tabulaciones).

Nota

Se recomienda usar el método FindNextElement en lugar de FindNextFocusableElement porque FindNextFocusableElement recupera un UIElement, que devuelve null si el siguiente elemento con foco no es uiElement (como un objeto Hyperlink ).

Consulte también

Se aplica a

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

Intenta cambiar de forma asincrónica el foco del elemento actual con el foco al siguiente elemento que se puede centrar en la dirección especificada y sujeto a las opciones de navegación 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

La dirección en la que el foco se mueve del elemento al elemento dentro de la interfaz de usuario de la aplicación.

focusNavigationOptions
FindNextElementOptions

Las opciones de navegación usadas para identificar el candidato de enfoque.

Devoluciones

FocusMovementResult que indica si el foco se estableció correctamente.

Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10, version 1803 (se introdujo en la versión 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v6.0)

Ejemplos

Aquí se muestra cómo establecer el foco en un objeto WebView y, si se produce un error, se restaura el foco en el 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); 
    } 
}

Comentarios

TryFocusAsync se completa de forma sincrónica cuando se llama a en un elemento que se ejecuta en el proceso de la aplicación.

También puede usar el método FindNextElement(FocusNavigationDirection, FindNextElementOptions) o el método FindNextElement(FocusNavigationDirection) para mover el foco mediante programación. Estos métodos recuperan el elemento (como dependencyObject) que recibirá el foco en función de la dirección de navegación especificada (solo navegación direccional, no se puede usar para emular la navegación por tabulaciones).

Nota

Se recomienda usar el método FindNextElement en lugar de FindNextFocusableElement porque FindNextFocusableElement recupera un UIElement, que devuelve null si el siguiente elemento con foco no es uiElement (como un objeto Hyperlink ).

Consulte también

Se aplica a