RadialControllerIndependentInputSource Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |