Freigeben über


SwapChainPanel.CreateCoreIndependentInputSource(CoreInputDeviceTypes) Methode

Definition

Erstellt ein Kerneingabeobjekt, das die Eingabetypen verarbeitet, wie durch den deviceTypes-Parameter angegeben. Dieses Kerneingabeobjekt kann Eingabeereignisse in einem Hintergrundthread verarbeiten.

public:
 virtual CoreIndependentInputSource ^ CreateCoreIndependentInputSource(CoreInputDeviceTypes deviceTypes) = CreateCoreIndependentInputSource;
CoreIndependentInputSource CreateCoreIndependentInputSource(CoreInputDeviceTypes const& deviceTypes);
public CoreIndependentInputSource CreateCoreIndependentInputSource(CoreInputDeviceTypes deviceTypes);
function createCoreIndependentInputSource(deviceTypes)
Public Function CreateCoreIndependentInputSource (deviceTypes As CoreInputDeviceTypes) As CoreIndependentInputSource

Parameter

deviceTypes
CoreInputDeviceTypes

Ein kombinierter Wert der Enumeration.

Gibt zurück

Ein -Objekt, das das Eingabesubsystem für Interoperationszwecke darstellt und für Eingabeereignisverbindungspunkte verwendet werden kann.

Hinweise

Mit dieser Methode kann eine App, die ein SwapChainPanel enthält, Eingaben und Rendering unabhängig vom XAML-UI-Thread verarbeiten, da Sie die Eingabeverarbeitungslogik bewusst für einen Hintergrundthread bereitstellen. Sie müssen CreateCoreIndependentInputSource aus einem Nicht-UI-Thread aufrufen, andernfalls schlägt diese Methode fehl.

Verwenden Sie die CreateCoreIndependentInputSource-Methode , um ein Kerneingabeobjekt zu erstellen und es Ihrem SwapChainPanel zuzuordnen. Nach erfolgreicher Erstellung wird die Benutzereingabe der angegebenen Gerätetypen, die auf SwapChainPanel-Inhalte zugreifen, an den Thread weitergeleitet, von dem CreateCoreIndependentInputSource aufgerufen wurde. Ihre App kann diese Eingabe verarbeiten, indem sie sich für Eingabeereignisse registriert und diese Ereignisse in einem Hintergrundthread verarbeitet. Um Eingabenachrichten über das CoreIndependentInputSource-Objekt zu empfangen, muss der App-Code eine SwapchainPanel-Instanz festlegen und (auf Microsoft DirectX-Ebene) mindestens einmal aus dieser Swap chain rendern. Dadurch wird das Rendering bereitgestellt, das Treffertests ermöglicht.

In der Regel verwenden Sie CoreDispatcher.ProcessEvents als Teil der Ereignisbehandlung. Rufen Sie einen CoreDispatcher-Verweis von CoreIndependentInputSource.Dispatcher ab. Weitere Informationen zur Verwendung von Hintergrundthreads finden Sie unter ThreadPool oder Threading und asynchrone Programmierung.

Sie können CreateCoreIndependentInputSource mehrmals aufrufen. Jedes Mal, wenn CreateCoreIndependentInputSource aufgerufen wird, wird das vorherige CoreIndependentInputSource-Objekt dem SwapChainPanel zugeordnet. Anders ausgedrückt: Nur ein CoreIndependentInputSource-Objekt kann Ereignisse gleichzeitig abrufen.

Beispielcode zur Verwendung von CreateCoreIndependentInputSource finden Sie in der DrawingPanel Klassendefinition, die Teil des XAML SwapChainPanel DirectX-Interopbeispiels ist.

CreateCoreIndependentInputSource d kann NULL zurückgeben, wenn deviceTypes als CoreInputDeviceTypes.None übergeben wurde (dies ist jedoch keine typische Möglichkeit, CreateCoreIndependentInputSource aufzurufen).

Gilt für:

Weitere Informationen