FocusManager.TryMoveFocusAsync 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.
Overload
TryMoveFocusAsync(FocusNavigationDirection) |
Secara asinkron mencoba mengubah fokus dari elemen saat ini dengan fokus ke elemen yang dapat difokuskan berikutnya ke arah yang ditentukan. |
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions) |
Secara asinkron mencoba mengubah fokus dari elemen saat ini dengan fokus ke elemen yang dapat difokuskan berikutnya ke arah yang ditentukan dan tunduk pada opsi navigasi yang ditentukan. |
TryMoveFocusAsync(FocusNavigationDirection)
Secara asinkron mencoba mengubah fokus dari elemen saat ini dengan fokus ke elemen yang dapat difokuskan berikutnya ke arah yang ditentukan.
public:
static IAsyncOperation<FocusMovementResult ^> ^ TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
/// [Windows.Foundation.Metadata.Overload("TryMoveFocusAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection const& focusNavigationDirection);
[Windows.Foundation.Metadata.Overload("TryMoveFocusAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
function tryMoveFocusAsync(focusNavigationDirection)
Public Shared Function TryMoveFocusAsync (focusNavigationDirection As FocusNavigationDirection) As IAsyncOperation(Of FocusMovementResult)
Parameter
- focusNavigationDirection
- FocusNavigationDirection
Arah yang memfokuskan berpindah dari elemen ke elemen dalam UI aplikasi.
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
- TryMoveFocus(Windows.UI.Xaml.Input.FocusNavigationDirection focusNavigationDirection) dan FocusManager.TryMoveFocus(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions) mengembalikan true (sukses), sebelum perubahan fokus selesai.
- GetFocusedElement tidak mengembalikan objek yang baru difokuskan sampai operasi asinkron selesai.
- Kontrol kehilangan fokus menerima peristiwa LosingFocus secara sinkron, tetapi tidak menerima LostFocus sampai operasi asinkron selesai.
- Kontrol yang mendapatkan fokus menerima 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.
Anda juga dapat menggunakan metode FindNextElement(FocusNavigationDirection, FindNextElementOptions) atau metode FindNextElement(FocusNavigationDirection) untuk memindahkan fokus secara terprogram. Metode ini mengambil elemen (sebagai DependencyObject) yang akan menerima fokus berdasarkan arah navigasi yang ditentukan (navigasi arah saja, tidak dapat digunakan untuk meniru navigasi tab).
Catatan
Sebaiknya gunakan metode FindNextElement alih-alih FindNextFocusableElement karena FindNextFocusableElement mengambil UIElement, yang mengembalikan null jika elemen yang dapat difokuskan berikutnya bukan UIElement (seperti objek Hyperlink ).
Lihat juga
- TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
- Interaksi keyboard
- Navigasi fokus untuk keyboard, gamepad, remote control, dan alat aksesibilitas
- Navigasi fokus terprogram
Berlaku untuk
TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)
Secara asinkron mencoba mengubah fokus dari elemen saat ini dengan fokus ke elemen yang dapat difokuskan berikutnya ke arah yang ditentukan dan tunduk pada opsi navigasi yang ditentukan.
public:
static IAsyncOperation<FocusMovementResult ^> ^ TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions ^ focusNavigationOptions);
/// [Windows.Foundation.Metadata.Overload("TryMoveFocusWithOptionsAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection const& focusNavigationDirection, FindNextElementOptions const& focusNavigationOptions);
[Windows.Foundation.Metadata.Overload("TryMoveFocusWithOptionsAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions);
function tryMoveFocusAsync(focusNavigationDirection, focusNavigationOptions)
Public Shared Function TryMoveFocusAsync (focusNavigationDirection As FocusNavigationDirection, focusNavigationOptions As FindNextElementOptions) As IAsyncOperation(Of FocusMovementResult)
Parameter
- focusNavigationDirection
- FocusNavigationDirection
Arah yang memfokuskan berpindah dari elemen ke elemen dalam UI aplikasi.
- focusNavigationOptions
- FindNextElementOptions
Opsi navigasi yang digunakan untuk mengidentifikasi kandidat 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
- TryMoveFocus(Windows.UI.Xaml.Input.FocusNavigationDirection focusNavigationDirection) dan FocusManager.TryMoveFocus(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions) mengembalikan true (sukses), sebelum perubahan fokus selesai.
- GetFocusedElement tidak mengembalikan objek yang baru difokuskan sampai operasi asinkron selesai.
- Kontrol kehilangan fokus menerima peristiwa LosingFocus secara sinkron, tetapi tidak menerima LostFocus sampai operasi asinkron selesai.
- Kontrol yang mendapatkan fokus menerima 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.
Anda juga dapat menggunakan metode FindNextElement(FocusNavigationDirection, FindNextElementOptions) atau metode FindNextElement(FocusNavigationDirection) untuk memindahkan fokus secara terprogram. Metode ini mengambil elemen (sebagai DependencyObject) yang akan menerima fokus berdasarkan arah navigasi yang ditentukan (navigasi arah saja, tidak dapat digunakan untuk meniru navigasi tab).
Catatan
Sebaiknya gunakan metode FindNextElement alih-alih FindNextFocusableElement karena FindNextFocusableElement mengambil UIElement, yang mengembalikan null jika elemen yang dapat difokuskan berikutnya bukan UIElement (seperti objek Hyperlink ).
Lihat juga
- TryMoveFocusAsync(FocusNavigationDirection)
- Interaksi keyboard
- Navigasi fokus untuk keyboard, gamepad, remote control, dan alat aksesibilitas
- Navigasi fokus terprogram