FocusManager.TryMoveFocusAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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 UIElement
abruft, die null
zurückgibt, wenn das nächste fokussierbare Element kein UIElement
ist (z. B. ein Hyperlink--Objekt).
Weitere Informationen
- TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
- Tastaturinteraktionen
- Fokusnavigation für Tastatur, Gamepad, Fernbedienung und Barrierefreiheitstools
- Programmgesteuerte Fokusnavigation
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 UIElement
abruft, die null
zurückgibt, wenn das nächste fokussierbare Element kein UIElement
ist (z. B. ein Hyperlink--Objekt).
Weitere Informationen
- TryMoveFocusAsync(FocusNavigationDirection)
- Tastaturinteraktionen
- Fokusnavigation für Tastatur, Gamepad, Fernbedienung und Barrierefreiheitstools
- Programmgesteuerte Fokusnavigation