FocusManager.TryMoveFocusAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
TryMoveFocusAsync(FocusNavigationDirection) |
Tente de manière asynchrone de modifier le focus de l’élément actuel avec focus sur l’élément focusable suivant dans la direction spécifiée. |
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions) |
Tente de manière asynchrone de modifier le focus de l’élément actuel avec focus sur l’élément focusable suivant dans le sens spécifié et sous réserve des options de navigation spécifiées. |
TryMoveFocusAsync(FocusNavigationDirection)
Tente de manière asynchrone de modifier le focus de l’élément actuel avec focus sur l’élément focusable suivant dans la direction spécifiée.
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)
Paramètres
- focusNavigationDirection
- FocusNavigationDirection
La direction dans laquelle le focus se déplace d’un élément à l’autre au sein de l’interface utilisateur de l’application.
Retours
FocusMovementResult qui indique si le focus a été correctement défini.
- Attributs
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
- Les méthodes FocusManager.TryMoveFocus retournent true (success), avant la fin de la modification du focus.
- GetFocusedElement ne retourne pas l’objet nouvellement ciblé tant que l’opération asynchrone 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 reçoit 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.
Vous pouvez également utiliser la méthode FindNextElement(FocusNavigationDirection, FindNextElementOptions) ou la méthode FindNextElement(FocusNavigationDirection) pour déplacer le focus par programmation. Ces méthodes récupèrent l’élément (en tant que DependencyObject) qui recevra le focus en fonction du sens de navigation spécifié (la navigation directionnelle uniquement ne peut pas être utilisée pour émuler la navigation par onglet).
Notes
Nous vous recommandons d’utiliser la méthode FindNextElement au lieu de FindNextFocusableElement
, car FindNextFocusableElement
récupère un UIElement
, qui retourne null
si l’élément focusable suivant n’est pas un UIElement
(tel qu’un objet Hyperlink ).
Voir aussi
- TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
- Interactions avec le clavier
- Navigation au focus pour le clavier, le boîtier de commande, le contrôle à distance et les outils d’accessibilité
- Navigation en mode focus programmé
S’applique à
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
Tente de manière asynchrone de modifier le focus de l’élément actuel avec focus sur l’élément focusable suivant dans le sens spécifié et sous réserve des options de navigation spécifiées.
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)
Paramètres
- focusNavigationDirection
- FocusNavigationDirection
La direction dans laquelle le focus se déplace d’un élément à l’autre au sein de l’interface utilisateur de l’application.
- focusNavigationOptions
- FindNextElementOptions
Options de navigation utilisées pour identifier le candidat focus.
Retours
FocusMovementResult qui indique si le focus a été correctement défini.
- Attributs
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
- Les méthodes FocusManager.TryMoveFocus retournent true (success), avant la fin de la modification du focus.
- GetFocusedElement ne retourne pas l’objet nouvellement ciblé tant que l’opération asynchrone 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 reçoit 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.
Vous pouvez également utiliser la méthode FindNextElement(FocusNavigationDirection, FindNextElementOptions) ou la méthode FindNextElement(FocusNavigationDirection) pour déplacer le focus par programmation. Ces méthodes récupèrent l’élément (en tant que DependencyObject) qui recevra le focus en fonction du sens de navigation spécifié (la navigation directionnelle uniquement ne peut pas être utilisée pour émuler la navigation par onglet).
Notes
Nous vous recommandons d’utiliser la méthode FindNextElement au lieu de FindNextFocusableElement
, car FindNextFocusableElement
récupère un UIElement
, qui retourne null
si l’élément focusable suivant n’est pas un UIElement
(tel qu’un objet Hyperlink ).
Voir aussi
- TryMoveFocusAsync(FocusNavigationDirection)
- Interactions avec le clavier
- Navigation au focus pour le clavier, le boîtier de commande, le contrôle à distance et les outils d’accessibilité
- Navigation en mode focus programmé