RadialControllerIndependentInputSource 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.
Ermöglicht es einer App, radiale Controllereingaben im Hintergrundthread zu verarbeiten.
public ref class RadialControllerIndependentInputSource sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RadialControllerIndependentInputSource final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RadialControllerIndependentInputSource
Public NotInheritable Class RadialControllerIndependentInputSource
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 Creators Update (eingeführt in 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v4.0)
|
Beispiele
Hier erstellen wir eine DispatcherQueue in einem dedizierten Hintergrundthread und initialisieren dann ein RadialControllerInpdependentInputSource-Objekt, das im Hintergrundthread erstellt wird.
public void CreateCoreIndependentInputSourceSample()
{
// Create a new thread, initialize DispatcherQueueController,
// and run a DispatcherQueue event loop on it.
_queueController =
DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
// This is the first TryEnqueue() after creating the DispatcherQueue
// callback is guaranteed to be invoked first despite priority on the
// newly created thread.
bool isQueued = _queue.TryEnqueue( () =>
{
// The RadialControllerIndependentInputSource will raise events
// on the thread that created it.
radialInput =
RadialControllerIndependentInputSource.CreateForView(view);
radialInput.Controller.ButtonClicked += OnButtonClicked;
radialInput.Controller.ButtonHeld += OnButtonHeld;
radialInput.Controller.ButtonPressed += OnButtonPressed;
// Add RadialControllerMenuItems for this controller.
AddMenuItems(radialInput.Controller)
});
if (!isQueued)
{
// throw exception as this callback is enqueued.
}
// Enqueuing future tasks to this thread can be done using the DispatcherQueue
// property in RadialControllerIndependentInputSource.
bool isTaskQueued = radialInput.DispatcherQueue.TryEnqueue( () =>
{
// TODO.
});
}
private DispatcherQueueController _queueController;
private DispatcherQueue _queue;
private RadialControllerIndependentInputSource radialInput;
Hinweise
Rufen Sie DispatcherQueueController.CreateOnDedicatedThread auf, um die DispatcherQueue in dem Hintergrundthread zu erstellen, in dem radialControllerIndependentInputSource instanziiert wird. Greifen Sie mithilfe der RadialControllerIndependentInputSource.DispatcherQueue-Eigenschaft auf diese DispatcherQueue-Eigenschaft zu.
Versionsverlauf
Windows-Version | SDK-Version | Mehrwert |
---|---|---|
1803 | 17134 | DispatcherQueue |
Eigenschaften
Controller |
Ruft einen Verweis auf ein Radeingabegerät oder Zubehör wie das Surface Dial ab. |
Dispatcher |
Ruft den Ereignisnachrichtenverteiler ab, der der aktuellen Ansicht zugeordnet ist. |
DispatcherQueue |
Ruft die DispatcherQueue ab, die diesem RadialControllerIndependentInputSource zugeordnet ist. |
Methoden
CreateForView(CoreApplicationView) |
Ruft eine instance radialControllerIndependentInputSource für den aktuellen CoreWindow der ausgeführten App ab. |