Freigeben über


InputFocusController Klasse

Definition

Stellt ein Objekt dar, das die Behandlung und Verwaltung von Fokusereignissen für ein 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 eine zugrunde liegende HWND-, die mit Win32-APIs interagieren und Win32-Nachrichten empfangen kann (z. B. verschiedene Eingabemeldungen).

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

Wenn ein 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.

Anmerkung

Weitere Informationen zu Win32-Fokus- und Tastatureingaben finden Sie im Abschnitt Tastaturfokus und Aktivierung Abschnitt des Tastatureingabeübersicht.

Verhalten beim Verwerfen

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

Wenn die 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 in einem 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 der 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 die Tabulatortaste durch alle tabstoppbaren Elemente innerhalb des ContentIsland, und jetzt sollte der Fokus von der Insel zu einem anderen Element in der Hostinganwendung verschoben werden.

GetForIsland(ContentIsland)

Ruft ein InputFocusController -Objekt für die angegebene ContentIsland -ab.

TrySetFocus()

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

Ereignisse

GotFocus

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

LostFocus

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

NavigateFocusRequested

Tritt auf, wenn der Content.ContentIsland Host möchte, dass contentIsland den Fokus erhält.

Der Benutzer hat z. B. tabstopps durch die Elemente des Hosts und muss jetzt in das ContentIsland wechseln. Die Hostinganwendung ruft InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) für die InputFocusNavigationHost dem SiteBridge-zugeordnet. Die InputFocusController- für das ContentIsland empfängt dann dieses NavigateFocusRequested-Ereignis und kann entscheiden, ob der Fokus genommen wird.

Gilt für:

Weitere Informationen