Partager via


FocusManager.TryFocusAsync(DependencyObject, FocusState) Méthode

Définition

Tente de manière asynchrone de définir le focus sur un élément lorsque l’application est initialisée.

public:
 static IAsyncOperation<FocusMovementResult ^> ^ TryFocusAsync(DependencyObject ^ element, FocusState value);
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<FocusMovementResult> TryFocusAsync(DependencyObject const& element, FocusState const& value);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryFocusAsync(DependencyObject element, FocusState value);
function tryFocusAsync(element, value)
Public Shared Function TryFocusAsync (element As DependencyObject, value As FocusState) As IAsyncOperation(Of FocusMovementResult)

Paramètres

element
DependencyObject

Objet sur lequel définir le focus.

value
FocusState

Une des valeurs de l’énumération FocusState qui spécifie comment un élément peut obtenir le focus.

Retours

FocusMovementResult qui indique si le focus a été correctement défini.

Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10, version 1803 (introduit dans 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v6.0)

Exemples

Ici, nous montrons comment définir le focus sur un objet WebView et, en cas d’échec, restaurer le focus sur l’élément d’origine.

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

Remarques

Certains objets, tels qu’un WebView, peuvent s’exécuter dans le processus d’application ou dans un processus distinct (voir WebViewExecutionMode.SeparateProcess).

Lorsqu’un objet s’exécute dans le processus d’application, les événements focus suivants se produisent comme prévu pour l’objet précédemment ciblé et l’objet nouvellement ciblé :

Toutefois, si l’objet nouvellement ciblé s’exécute dans un processus distinct, certains de ces comportements d’événement peuvent différer.

  • GetFocusedElement ne retourne pas l’objet nouvellement ciblé tant que l’opération TryFocusAsync n’est pas terminée.
  • Le contrôle qui perd le focus reçoit son événement LosingFocus de manière synchrone, mais ne reçoit pas LostFocus tant que l’opération asynchrone n’est pas terminée.
  • Le contrôle qui obtient le focus réceie son événement GettingFocus de manière synchrone, mais ne reçoit pas GotFocus tant que l’opération asynchrone n’est pas terminée.

TryFocusAsync se termine de manière synchrone lorsqu’il est appelé sur un élément en cours d’exécution dans le processus d’application.

S’applique à

Voir aussi