RadialControllerIndependentInputSource Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Permet à une application de gérer l’entrée du contrôleur radial sur le thread d’arrière-plan.
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
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Creators Update (introduit dans 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v4.0)
|
Exemples
Ici, nous créons un DispatcherQueue sur un thread d’arrière-plan dédié, puis initialisons un objet RadialControllerInpdependentInputSource, qui est créé sur le thread d’arrière-plan.
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;
Remarques
Appelez DispatcherQueueController.CreateOnDedicatedThread pour créer le DispatcherQueue sur le thread d’arrière-plan où radialControllerIndependentInputSource est instancié. Accédez à ce DispatcherQueue à l’aide de la propriété RadialControllerIndependentInputSource.DispatcherQueue .
Historique des versions
Version de Windows | Version du SDK | Valeur ajoutée |
---|---|---|
1803 | 17134 | DispatcherQueue |
Propriétés
Controller |
Obtient une référence à un appareil d’entrée de roue ou un accessoire tel que le Surface Dial. |
Dispatcher |
Obtient le répartiteur de messages d’événements associé à l’affichage actuel. |
DispatcherQueue |
Obtient le DispatcherQueue associé à ce RadialControllerIndependentInputSource. |
Méthodes
CreateForView(CoreApplicationView) |
Obtient une instance de RadialControllerIndependentInputSource pour le CoreWindow actuel de l’application en cours d’exécution. |