Bagikan melalui


InputFocusController Kelas

Definisi

Mewakili objek yang mendukung penanganan dan pengelolaan peristiwa fokus pada ContentIsland.

public ref class InputFocusController sealed : InputObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65540)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputFocusController final : InputObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65540)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InputFocusController : InputObject
Public NotInheritable Class InputFocusController
Inherits InputObject
Warisan
Object Platform::Object IInspectable InputObject InputFocusController
Atribut

Keterangan

ContentIsland memiliki HWND yang mendasarinya yang dapat berinteraksi dengan API Win32 dan menerima pesan Win32 (seperti berbagai pesan input).

ContentIslandmemiliki fokus jika HWND yang mendasarinya memiliki fokus Win32 .

Ketika A ContentIsland memiliki fokus, itu akan menerima pesan input keyboard dari sistem. Peristiwa input keyboard dapat ditangani oleh objek InputKeyboardSource, yang diambil melalui metode InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland).

Nota

Untuk detail selengkapnya tentang fokus Win32 dan input keyboard, lihat bagian Fokus Keyboard dan Aktivasi Gambaran Umum Input Keyboard.

Perilaku saat dibuang

InputFocusController dikaitkan dengan ContentIsland tertentu. Jika InputFocusController dibuang, maka kehilangan asosiasi tersebut dan semua penanganan aktivitas tidak terdaftar.

Jika ContentIsland terkait dibuang, InputFocusController terkait juga dibuang.

Untuk detail selengkapnya, lihat Microsoft.UI.Input.InputObject.

Model threading

InputFocusController hanya dapat berasal dari utas tempatnya dibuat. Setiap akses properti atau panggilan fungsi pada utas yang berbeda akan mengembalikan RPC_E_WRONG_THREAD (atau jenis kesalahan yang diproyeksikan yang setara).

Untuk detail selengkapnya, lihat Microsoft.UI.Input.InputObject.

Properti

DispatcherQueue

Mendapatkan DispatcherQueue untuk InputObject.

(Diperoleh dari InputObject)
HasFocus

Mendapatkan apakah ContentIsland terkait memiliki fokus.

Metode

DepartFocus(FocusNavigationRequest)

Menaikkan peristiwa InputFocusNavigationHost.DepartFocusRequested untuk host Content.ContentIsland.

Misalnya, pengguna telah bertab melalui semua elemen yang dapat ditab dalam ContentIsland dan sekarang fokus harus berpindah dari Pulau ke sesuatu yang lain dalam aplikasi hosting.

GetForIsland(ContentIsland)

Mengambil objek InputFocusController untuk ContentIsland yang ditentukan.

TrySetFocus()

Mencoba mengatur fokus ke ContentIsland yang terkait dengan InputFocusController.

Acara

GotFocus

Terjadi ketika ContentIsland terkait menerima fokus.

LostFocus

Terjadi ketika fokus dipindahkan dari ContentIsland terkait.

NavigateFocusRequested

Terjadi ketika host Content.ContentIsland ingin ContentIsland fokus.

Misalnya, pengguna telah menautkan melalui elemen host dan sekarang perlu masuk ke ContentIsland. Aplikasi hosting memanggil InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) pada InputFocusNavigationHost terkait dengan SiteBridge. InputFocusController untuk ContentIsland kemudian menerima peristiwa NavigateFocusRequested ini dan dapat memutuskan apakah akan mengambil fokus.

Berlaku untuk

Lihat juga