Compartir a través de


RadialControllerIndependentInputSource Clase

Definición

Permite que una aplicación controle la entrada del controlador radial en el subproceso en segundo plano.

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

Requisitos de Windows

Familia de dispositivos
Windows 10 Creators Update (se introdujo en la versión 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v4.0)

Ejemplos

Aquí, creamos un DispatcherQueue en un subproceso de fondo dedicado y, a continuación, inicializamos un objeto RadialControllerInpdependentInputSource, que se crea en el subproceso en segundo plano.

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; 

Comentarios

Llame a DispatcherQueueController.CreateOnDedicatedThread para crear dispatcherQueue en el subproceso en segundo plano donde se crea una instancia de RadialControllerIndependentInputSource. Acceda a esta dispatcherQueue mediante la propiedad RadialControllerIndependentInputSource.DispatcherQueue .

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
1803 17134 DispatcherQueue

Propiedades

Controller

Obtiene una referencia a un dispositivo de entrada de rueda o accesorio como Surface Dial.

Dispatcher

Obtiene el distribuidor de mensajes de evento asociado a la vista actual.

DispatcherQueue

Obtiene el dispatcherQueue asociado a este radialControllerIndependentInputSource.

Métodos

CreateForView(CoreApplicationView)

Obtiene una instancia de RadialControllerIndependentInputSource para la instancia actual de CoreWindow de la aplicación en ejecución.

Se aplica a