Freigeben über


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, auf 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

Das FocusMovementResult , das angibt, ob der Fokus erfolgreich festgelegt wurde.

Attribute

Beispiele

Hier wird gezeigt, wie Sie den Fokus auf ein WebView-Objekt festlegen und, falls 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 das LosingFocus-Ereignis synchron, aber erst , wenn der asynchrone Vorgang abgeschlossen ist.
  • Das Steuerelement, das den Fokus erhält, gibt sein GettingFocus-Ereignis synchron wieder auf, empfängt jedoch Erst dann GotFocus , wenn der asynchrone Vorgang abgeschlossen ist.

TryFocusAsync wird synchron abgeschlossen, wenn es für ein Element aufgerufen wird, das im App-Prozess ausgeführt wird.

Gilt für:

Weitere Informationen