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