InputFocusController Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |