FocusManager.TryFocusAsync(DependencyObject, FocusState) 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.
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.