RadialControllerIndependentInputSource Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Permite que um aplicativo manipule a entrada do controlador radial no thread em 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
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 Creators Update (introduzida na 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v4.0)
|
Exemplos
Aqui, criamos um DispatcherQueue em um thread em segundo plano dedicado e inicializamos um objeto RadialControllerInpdependentInputSource, que é criado no thread em 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;
Comentários
Chame DispatcherQueueController.CreateOnDedicatedThread para criar o DispatcherQueue no thread em segundo plano em que RadialControllerIndependentInputSource é instanciado. Acesse este DispatcherQueue usando a propriedade RadialControllerIndependentInputSource.DispatcherQueue .
Histórico de versão
Versão do Windows | Versão do SDK | Valor adicionado |
---|---|---|
1803 | 17134 | DispatcherQueue |
Propriedades
Controller |
Obtém uma referência a um dispositivo ou acessório de entrada de roda, como o Surface Dial. |
Dispatcher |
Obtém o dispatcher de mensagem de evento associado à exibição atual. |
DispatcherQueue |
Obtém o DispatcherQueue associado a este RadialControllerIndependentInputSource. |
Métodos
CreateForView(CoreApplicationView) |
Obtém uma instância de RadialControllerIndependentInputSource para o CoreWindow atual do aplicativo em execução. |