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 und den angegebenen Navigationsoptionen zu ändern. |
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 innerhalb der App-Benutzeroberfläche von Element zu Element wechselt.
Gibt zurück
FocusMovementResult, das angibt, ob der Fokus erfolgreich festgelegt wurde.
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10, version 1803 (eingeführt in 10.0.17134.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v6.0)
|
Beispiele
Hier wird gezeigt, wie Sie den Fokus auf ein WebView-Objekt festlegen und, wenn dies fehlschlägt, 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
- TryMoveFocus(Windows.UI.Xaml.Input.FocusNavigationDirection focusNavigationDirection) und FocusManager.TryMoveFocus(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions) geben true (erfolgreich) zurück, bevor die Fokusänderung abgeschlossen ist.
- GetFocusedElement gibt 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, erhält jedoch LostFocus erst, wenn der asynchrone Vorgang abgeschlossen ist.
- Das Steuerelement, das den Fokus erhält, nimmt sein GettingFocus-Ereignis synchron wieder auf, empfängt gotFocus jedoch erst, wenn der asynchrone Vorgang abgeschlossen ist.
TryFocusAsync wird synchron abgeschlossen, wenn für 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 die Richtungsnavigation kann nicht verwendet werden, um die Registerkartennavigation zu emulieren).
Hinweis
Es wird empfohlen, die FindNextElement-Methode anstelle von FindNextFocusableElement zu verwenden, da FindNextFocusableElement ein UIElement abruft, das 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 und den angegebenen Navigationsoptionen zu ändern.
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 innerhalb der App-Benutzeroberfläche von Element zu Element wechselt.
- focusNavigationOptions
- FindNextElementOptions
Die Navigationsoptionen, die zum Identifizieren des Fokuskandidaten verwendet werden.
Gibt zurück
FocusMovementResult, das angibt, ob der Fokus erfolgreich festgelegt wurde.
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10, version 1803 (eingeführt in 10.0.17134.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v6.0)
|
Beispiele
Hier wird gezeigt, wie Sie den Fokus auf ein WebView-Objekt festlegen und, wenn dies fehlschlägt, 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
- TryMoveFocus(Windows.UI.Xaml.Input.FocusNavigationDirection focusNavigationDirection) und FocusManager.TryMoveFocus(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions) geben true (erfolgreich) zurück, bevor die Fokusänderung abgeschlossen ist.
- GetFocusedElement gibt 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, erhält jedoch LostFocus erst, wenn der asynchrone Vorgang abgeschlossen ist.
- Das Steuerelement, das den Fokus erhält, nimmt sein GettingFocus-Ereignis synchron wieder auf, empfängt gotFocus jedoch erst, wenn der asynchrone Vorgang abgeschlossen ist.
TryFocusAsync wird synchron abgeschlossen, wenn für 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 die Richtungsnavigation kann nicht verwendet werden, um die Registerkartennavigation zu emulieren).
Hinweis
Es wird empfohlen, die FindNextElement-Methode anstelle von FindNextFocusableElement zu verwenden, da FindNextFocusableElement ein UIElement abruft, das 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