FocusManager.TryFocusAsync(DependencyObject, FocusState) Methode

Definition

Versucht asynchron, den Fokus auf ein Element festzulegen, wenn die Anwendung initialisiert wird.

public:
 static IAsyncOperation<FocusMovementResult ^> ^ TryFocusAsync(DependencyObject ^ element, FocusState value);
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<FocusMovementResult> TryFocusAsync(DependencyObject const& element, FocusState const& value);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryFocusAsync(DependencyObject element, FocusState value);
function tryFocusAsync(element, value)
Public Shared Function TryFocusAsync (element As DependencyObject, value As FocusState) As IAsyncOperation(Of FocusMovementResult)

Parameter

element
DependencyObject

Das Objekt, für das der Fokus festgelegt werden soll.

value
FocusState

Einer der Werte aus der FocusState-Enumeration , der angibt, wie ein Element den Fokus erhalten kann.

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

Einige Objekte, z. B . eine WebView, können entweder im App-Prozess oder in einem separaten Prozess ausgeführt werden (siehe WebViewExecutionMode.SeparateProcess).

Wenn ein Objekt im App-Prozess ausgeführt wird, treten die folgenden Fokusereignisse sowohl für das zuvor fokussierte Objekt als auch für das neu fokussierte Objekt erwartungsgemäß auf:

Wenn das neu fokussierte Objekt jedoch in einem separaten Prozess ausgeführt wird, können sich einige dieser Ereignisverhaltensweisen unterscheiden.

  • GetFocusedElement gibt das neu fokussierte Objekt erst zurück, wenn der TryFocusAsync-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.

Gilt für:

Weitere Informationen