FocusManager.TryMoveFocusAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
TryMoveFocusAsync(FocusNavigationDirection) |
Tenta in modo asincrono di modificare lo stato attivo dall'elemento corrente con lo stato attivo all'elemento attivabile successivo nella direzione specificata. |
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions) |
Tenta in modo asincrono di modificare lo stato attivo dall'elemento corrente con stato attivo all'elemento attivabile successivo nella direzione specificata e soggetto alle opzioni di spostamento specificate. |
TryMoveFocusAsync(FocusNavigationDirection)
Tenta in modo asincrono di modificare lo stato attivo dall'elemento corrente con lo stato attivo all'elemento attivabile successivo nella direzione specificata.
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)
Parametri
- focusNavigationDirection
- FocusNavigationDirection
La direzione in cui lo stato attivo passa dall'elemento all'elemento all'interno dell'interfaccia utente dell'app.
Restituisce
FocusMovementResult che indica se lo stato attivo è stato impostato correttamente.
- Attributi
Esempio
In questo esempio viene illustrato come impostare lo stato attivo su un oggetto WebView e, in caso di errore, ripristinare lo stato attivo sull'elemento originale.
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);
}
}
Commenti
- I metodi FocusManager.TryMoveFocus restituiscono true (esito positivo), prima del completamento della modifica dello stato attivo.
- GetFocusedElement non restituisce l'oggetto appena attivo fino al completamento dell'operazione asincrona.
- Il controllo che perde lo stato attivo riceve l'evento LosingFocus in modo sincrono, ma non riceve LostFocus fino al completamento dell'operazione asincrona.
- Il controllo che riceve lo stato attivo riceve l'evento GettingFocus in modo sincrono, ma non riceve GotFocus fino al completamento dell'operazione asincrona.
TryFocusAsync viene completato in modo sincrono quando viene chiamato su un elemento in esecuzione nel processo dell'app.
È anche possibile utilizzare il metodo FindNextElement(FocusNavigationDirection, FindNextElementOptions) o il metodo FindNextElement(FocusNavigationDirection) per spostare lo stato attivo a livello di codice. Questi metodi recuperano l'elemento (come DependencyObject) che riceverà lo stato attivo in base alla direzione di navigazione specificata (solo navigazione direzionale, non può essere utilizzata per emulare lo spostamento tramite tabulazione).
Nota
È consigliabile utilizzare il metodo FindNextElement anziché FindNextFocusableElement
perché FindNextFocusableElement
recupera un UIElement
oggetto , che restituisce null
se l'elemento attivabile successivo non è un UIElement
oggetto , ad esempio un oggetto Hyperlink .
Vedi anche
- TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
- Interazioni tramite tastiera
- Spostamento dello stato attivo per tastiera, game pad, telecomando e strumenti di accessibilità
- Spostamento dello stato attivo a livello di codice
Si applica a
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
Tenta in modo asincrono di modificare lo stato attivo dall'elemento corrente con stato attivo all'elemento attivabile successivo nella direzione specificata e soggetto alle opzioni di spostamento specificate.
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)
Parametri
- focusNavigationDirection
- FocusNavigationDirection
La direzione in cui lo stato attivo passa dall'elemento all'elemento all'interno dell'interfaccia utente dell'app.
- focusNavigationOptions
- FindNextElementOptions
Opzioni di spostamento utilizzate per identificare il candidato dello stato attivo.
Restituisce
FocusMovementResult che indica se lo stato attivo è stato impostato correttamente.
- Attributi
Esempio
In questo esempio viene illustrato come impostare lo stato attivo su un oggetto WebView e, in caso di errore, ripristinare lo stato attivo sull'elemento originale.
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);
}
}
Commenti
- I metodi FocusManager.TryMoveFocus restituiscono true (esito positivo), prima del completamento della modifica dello stato attivo.
- GetFocusedElement non restituisce l'oggetto appena attivo fino al completamento dell'operazione asincrona.
- Il controllo che perde lo stato attivo riceve l'evento LosingFocus in modo sincrono, ma non riceve LostFocus fino al completamento dell'operazione asincrona.
- Il controllo che riceve lo stato attivo riceve l'evento GettingFocus in modo sincrono, ma non riceve GotFocus fino al completamento dell'operazione asincrona.
TryFocusAsync viene completato in modo sincrono quando viene chiamato su un elemento in esecuzione nel processo dell'app.
È anche possibile utilizzare il metodo FindNextElement(FocusNavigationDirection, FindNextElementOptions) o il metodo FindNextElement(FocusNavigationDirection) per spostare lo stato attivo a livello di codice. Questi metodi recuperano l'elemento (come DependencyObject) che riceverà lo stato attivo in base alla direzione di navigazione specificata (solo navigazione direzionale, non può essere utilizzata per emulare lo spostamento tramite tabulazione).
Nota
È consigliabile utilizzare il metodo FindNextElement anziché FindNextFocusableElement
perché FindNextFocusableElement
recupera un UIElement
oggetto , che restituisce null
se l'elemento attivabile successivo non è un UIElement
oggetto , ad esempio un oggetto Hyperlink .
Vedi anche
- TryMoveFocusAsync(FocusNavigationDirection)
- Interazioni tramite tastiera
- Spostamento dello stato attivo per tastiera, game pad, telecomando e strumenti di accessibilità
- Spostamento dello stato attivo a livello di codice