FocusManager.TryFocusAsync(DependencyObject, FocusState) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Secara asinkron mencoba untuk mengatur fokus pada elemen ketika aplikasi diinisialisasi.
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
Objek tempat mengatur fokus.
- value
- FocusState
Salah satu nilai dari enumerasi FocusState yang menentukan bagaimana elemen dapat memperoleh fokus.
Mengembalikan
FocusMovementResult yang menunjukkan apakah fokus berhasil diatur.
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10, version 1803 (diperkenalkan dalam 10.0.17134.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v6.0)
|
Contoh
Di sini, kami menunjukkan cara mengatur fokus pada objek WebView, dan, jika gagal, pulihkan fokus ke elemen asli.
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);
}
}
Keterangan
Beberapa objek, seperti WebView, dapat berjalan dalam proses aplikasi atau dalam proses terpisah (lihat WebViewExecutionMode.SeparateProcess).
Saat objek berjalan dalam proses aplikasi, peristiwa fokus berikut terjadi seperti yang diharapkan untuk objek yang difokuskan sebelumnya dan objek yang baru difokuskan:
Namun, jika objek yang baru difokuskan berjalan dalam proses terpisah, beberapa perilaku peristiwa ini dapat berbeda.
- GetFocusedElement tidak mengembalikan objek yang baru difokuskan hingga operasi TryFocusAsync selesai.
- Kontrol kehilangan fokus menerima peristiwa LosingFocus-nya secara sinkron, tetapi tidak menerima LostFocus sampai operasi asinkron selesai.
- Kontrol mendapatkan fokus akan menyempurnakan peristiwa GettingFocus secara sinkron, tetapi tidak menerima GotFocus sampai operasi asinkron selesai.
TryFocusAsync selesai secara sinkron saat dipanggil pada elemen yang berjalan dalam proses aplikasi.