Pointer Classe

Definizione

Fornisce proprietà di base per il puntatore di input associato a un singolo mouse, penna/stilo o contatto tocco.

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
Ereditarietà
Object Platform::Object IInspectable Pointer
Attributi

Esempio

L'esempio di codice seguente mostra l'utilizzo della classe Pointer per trovare l'id puntatore univoco di ogni contatto di input in un'app, usare PointerDeviceType per ignorare forme specifiche di input (ad esempio, l'input del mouse) e archiviare le posizioni del puntatore. Per codice aggiuntivo che usa la classe Pointer, vedere l'esempio di 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;
        }
    }
}

Commenti

La Pointer classe viene usata per descrivere un dispositivo di input. Questa classe identifica il dispositivo di input ,ad esempio lo stilo, il dito o il mouse, per ogni evento puntatore che si verifica.

Nella maggior parte dei casi, è consigliabile ottenere informazioni sul puntatore tramite l'argomento dell'evento dei gestori eventi del puntatore (vedere PointerRoutedEventArgs).

Se l'argomento evento non espone intrinsecamente i dettagli del puntatore richiesti dall'app, è possibile accedere ai dati del puntatore estesi tramite i metodi GetCurrentPoint e GetIntermediatePoints di PointerRoutedEventArgs. È consigliabile usare questi metodi perché è possibile specificare il contesto dei dati del puntatore.

Proprietà

IsInContact

Ottiene un valore che determina se il dispositivo puntatore era in contatto con un sensore o un digitalizzatore al momento in cui è stato segnalato l'evento.

IsInRange

Ottiene un valore che indica se il dispositivo puntatore è compreso nell'intervallo di rilevamento di un sensore o di un digitalizzatore.

PointerDeviceType

Ottiene pointerDeviceType per il dispositivo puntatore.

PointerId

Ottiene l'identificatore generato dal sistema per questo riferimento al puntatore.

Si applica a

Vedi anche