Freigeben über


InputFocusController Klasse

Definition

Stellt ein -Objekt dar, das die Behandlung und Verwaltung von Fokusereignissen in einem ContentIsland unterstützt.

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
Vererbung
Object Platform::Object IInspectable InputObject InputFocusController
Attribute

Hinweise

Ein ContentIsland verfügt über einen zugrunde liegenden HWND , der mit Win32-APIs interagieren und Win32-Nachrichten (z. B. verschiedene Eingabenachrichten) empfangen kann.

Ein ContentIslandhat den Fokus , wenn der zugrunde liegende HWND den Win32-Fokus hat.

Wenn A ContentIsland den Fokus hat, empfängt es Tastatureingabemeldungen vom System. Tastatureingabeereignisse können von einem InputKeyboardSource-Objekt verarbeitet werden, das über die InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland)- Methode abgerufen wird.

Hinweis

Weitere Informationen zu Win32-Fokus und Tastatureingaben finden Sie im Abschnitt Tastaturfokus und Aktivierung der Übersicht über Tastatureingaben.

Verhalten bei Entsorgung

Ein InputFocusController ist einem bestimmten ContentIsland zugeordnet. Wenn der InputFocusController verworfen wird, verliert er diese Zuordnung, und alle Ereignishandler werden nicht registriert.

Wenn der zugeordnete ContentIsland verworfen wird, wird auch der zugeordnete InputFocusController verworfen.

Weitere Informationen finden Sie unter Microsoft.UI.Input.InputObject.

Threadmodell

Ein InputFocusController kann nur aus dem Thread stammen, in dem er erstellt wurde. Jeder Eigenschaftszugriff oder Funktionsaufruf für einen anderen Thread gibt RPC_E_WRONG_THREAD (oder den entsprechenden projizierten Fehlertyp) zurück.

Weitere Informationen finden Sie unter Microsoft.UI.Input.InputObject.

Eigenschaften

DispatcherQueue

Ruft den DispatcherQueue für das InputObject ab.

(Geerbt von InputObject)
HasFocus

Ruft ab, ob das zugeordnete ContentIsland den Fokus hat.

Methoden

DepartFocus(FocusNavigationRequest)

Löst das InputFocusNavigationHost.DepartFocusRequested-Ereignis für den Content.ContentIsland-Host aus.

Beispielsweise hat der Benutzer alle tabbablen Elemente innerhalb des ContentIsland mit einer Registerkarte durchlaufen, und der Fokus sollte nun von der Insel zu einem anderen Element in der Hostinganwendung verschoben werden.

GetForIsland(ContentIsland)

Ruft ein InputFocusController Objekt für das angegebene ContentIsland ab.

TrySetFocus()

Versucht, den Fokus auf das ContentIsland festzulegen, das dem InputFocusController zugeordnet ist.

Ereignisse

GotFocus

Tritt auf, wenn das zugeordnete ContentIsland den Fokus erhält.

LostFocus

Tritt auf, wenn der Fokus aus dem zugeordneten ContentIsland verschoben wird.

NavigateFocusRequested

Tritt auf, wenn der Content.ContentIsland-Host den Fokus auf contentIsland legen möchte.

Beispielsweise hat der Benutzer die Elemente des Hosts mit einer Registerkarte durchlaufen und muss nun die Registerkarte "ContentIsland" öffnen. Die Hostanwendung ruft InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) auf dem InputFocusNavigationHost auf, der siteBridge zugeordnet ist. Der InputFocusController für das ContentIsland empfängt dann dieses NavigateFocusRequested-Ereignis und kann entscheiden, ob es den Fokus nimmt.

Gilt für:

Weitere Informationen