Partager via


RadialControllerIndependentInputSource Classe

Définition

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
Object Platform::Object IInspectable RadialControllerIndependentInputSource
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.

S’applique à