Pointer 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í.
Proporciona propiedades básicas para el puntero de entrada asociado a un solo mouse, lápiz o lápiz táctil o contacto táctil.
public ref class Pointer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class Pointer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class Pointer
Public NotInheritable Class Pointer
- Herencia
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra el uso de la clase Pointer para buscar el PointerId único de cada contacto de entrada en una aplicación, use pointerDeviceType para omitir formas específicas de entrada (por ejemplo, entrada del mouse) y almacenar las posiciones del puntero. Para obtener código adicional que use la clase Pointer, consulte el ejemplo input.
using System.Collections.Generic;
using Windows.Foundation;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Navigation;
namespace PointerExample
{
public sealed partial class BlankPage : Page
{
Dictionary<uint, Point?> _contacts;
const uint SUPPORTEDCONTACTS = 5;
public BlankPage()
{
this.InitializeComponent();
_contacts = new Dictionary<uint, Point?>((int)SUPPORTEDCONTACTS);
this.PointerPressed += BlankPage_PointerPressed;
this.PointerReleased += BlankPage_PointerReleased;
}
private void BlankPage_PointerPressed(object sender,
PointerRoutedEventArgs e)
{
// Ignore mouse inputs.
if (e.Pointer.PointerDeviceType !=
Windows.Devices.Input.PointerDeviceType.Mouse)
{
// Store and touch input contacts.
Windows.UI.Input.PointerPoint pt = e.GetCurrentPoint(this);
_contacts[e.Pointer.PointerId] = pt.Position;
}
e.Handled = true;
}
private void BlankPage_PointerReleased(object sender,
PointerRoutedEventArgs e)
{
// Ignore mouse inputs.
if (e.Pointer.PointerDeviceType !=
Windows.Devices.Input.PointerDeviceType.Mouse)
{
// Remove pointer contacts information.
uint ptrId = e.Pointer.PointerId;
if (_contacts.ContainsKey(ptrId))
{
_contacts[ptrId] = null;
_contacts.Remove(ptrId);
}
}
e.Handled = true;
}
}
}
Comentarios
La Pointer
clase se usa para describir un dispositivo de entrada. Esta clase identifica el dispositivo de entrada (como lápiz óptico, dedo o mouse) para cada evento de puntero que se produce.
En la mayoría de los casos, se recomienda obtener información del puntero a través del argumento de evento de los controladores de eventos de puntero (consulte PointerRoutedEventArgs).
Si el argumento de evento no expone intrínsecamente los detalles del puntero requeridos por la aplicación, puede obtener acceso a los datos de puntero extendidos a través de los métodos GetCurrentPoint y GetIntermediatePoints de PointerRoutedEventArgs. Se recomienda usar estos métodos, ya que puede especificar el contexto de los datos del puntero.
Propiedades
IsInContact |
Obtiene un valor que determina si el dispositivo de puntero estaba en contacto con un sensor o digitalizador en el momento en que se notificó el evento. |
IsInRange |
Obtiene un valor que indica si el dispositivo de puntero está dentro del intervalo de detección de un sensor o digitalizador. |
PointerDeviceType |
Obtiene pointerDeviceType para el dispositivo de puntero. |
PointerId |
Obtiene el identificador generado por el sistema para esta referencia de puntero. |