FocusManager.TryMoveFocusAsync Methode

Definition

Überlädt

TryMoveFocusAsync(FocusNavigationDirection)

Versucht asynchron, den Fokus vom aktuellen Element mit Fokus auf das nächste fokussierbare Element in der angegebenen Richtung zu ändern.

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

Versucht asynchron, den Fokus vom aktuellen Element mit Fokus auf das nächste fokussierbare Element in der angegebenen Richtung zu ändern und den angegebenen Navigationsoptionen zu unterliegen.

TryMoveFocusAsync(FocusNavigationDirection)

Versucht asynchron, den Fokus vom aktuellen Element mit Fokus auf das nächste fokussierbare Element in der angegebenen Richtung zu ändern.

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)

Parameter

focusNavigationDirection
FocusNavigationDirection

Die Richtung, in die der Fokus von Element zu Element innerhalb der App-Benutzeroberfläche verschoben wird.

Gibt zurück

Die FocusMovementResult-, die angibt, ob der Fokus erfolgreich festgelegt wurde.

Attribute

Beispiele

Hier zeigen wir, wie Sie den Fokus auf ein WebView-Objekt festlegen und bei einem Fehlschlagen den Fokus auf das ursprüngliche Element wiederherstellen.

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

Hinweise

  • FocusManager.TryMoveFocus- Methoden geben "true" (Erfolg) zurück, bevor die Fokusänderung abgeschlossen ist.
  • GetFocusedElement- das neu fokussierte Objekt erst zurück, wenn der asynchrone Vorgang abgeschlossen ist.
  • Das Steuerelement, das den Fokus verliert, empfängt sein LosingFocus-Ereignis synchron, empfängt aber erst LostFocus, wenn der asynchrone Vorgang abgeschlossen ist.
  • Das Steuerelement, das den Fokus erhält, erhält sein GettingFocus--Ereignis synchron, empfängt jedoch erst GotFocus-, wenn der asynchrone Vorgang abgeschlossen ist.

TryFocusAsync synchron abgeschlossen, wenn ein element aufgerufen wird, das im App-Prozess ausgeführt wird.

Sie können auch die FindNextElement(FocusNavigationDirection, FindNextElementOptions) Methode oder die FindNextElement(FocusNavigationDirection) Methode verwenden, um den Fokus programmgesteuert zu verschieben. Diese Methoden rufen das Element (als DependencyObject) ab, das den Fokus basierend auf der angegebenen Navigationsrichtung erhält (nur direktionale Navigation kann nicht zum Emulieren der Registerkartennavigation verwendet werden).

Anmerkung

Es wird empfohlen, die FindNextElement- Methode anstelle von FindNextFocusableElement zu verwenden, da FindNextFocusableElement eine UIElementabruft, die null zurückgibt, wenn das nächste fokussierbare Element kein UIElement ist (z. B. ein Hyperlink--Objekt).

Weitere Informationen

Gilt für:

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

Versucht asynchron, den Fokus vom aktuellen Element mit Fokus auf das nächste fokussierbare Element in der angegebenen Richtung zu ändern und den angegebenen Navigationsoptionen zu unterliegen.

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)

Parameter

focusNavigationDirection
FocusNavigationDirection

Die Richtung, in die der Fokus von Element zu Element innerhalb der App-Benutzeroberfläche verschoben wird.

focusNavigationOptions
FindNextElementOptions

Die Navigationsoptionen, die zum Identifizieren des Fokuskandidaten verwendet werden.

Gibt zurück

Die FocusMovementResult-, die angibt, ob der Fokus erfolgreich festgelegt wurde.

Attribute

Beispiele

Hier zeigen wir, wie Sie den Fokus auf ein WebView-Objekt festlegen und bei einem Fehlschlagen den Fokus auf das ursprüngliche Element wiederherstellen.

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

Hinweise

  • FocusManager.TryMoveFocus- Methoden geben "true" (Erfolg) zurück, bevor die Fokusänderung abgeschlossen ist.
  • GetFocusedElement- das neu fokussierte Objekt erst zurück, wenn der asynchrone Vorgang abgeschlossen ist.
  • Das Steuerelement, das den Fokus verliert, empfängt sein LosingFocus-Ereignis synchron, empfängt aber erst LostFocus, wenn der asynchrone Vorgang abgeschlossen ist.
  • Das Steuerelement, das den Fokus erhält, erhält sein GettingFocus--Ereignis synchron, empfängt jedoch erst GotFocus-, wenn der asynchrone Vorgang abgeschlossen ist.

TryFocusAsync synchron abgeschlossen, wenn ein element aufgerufen wird, das im App-Prozess ausgeführt wird.

Sie können auch die FindNextElement(FocusNavigationDirection, FindNextElementOptions) Methode oder die FindNextElement(FocusNavigationDirection) Methode verwenden, um den Fokus programmgesteuert zu verschieben. Diese Methoden rufen das Element (als DependencyObject) ab, das den Fokus basierend auf der angegebenen Navigationsrichtung erhält (nur direktionale Navigation kann nicht zum Emulieren der Registerkartennavigation verwendet werden).

Anmerkung

Es wird empfohlen, die FindNextElement- Methode anstelle von FindNextFocusableElement zu verwenden, da FindNextFocusableElement eine UIElementabruft, die null zurückgibt, wenn das nächste fokussierbare Element kein UIElement ist (z. B. ein Hyperlink--Objekt).

Weitere Informationen

Gilt für: