Pointer Klasse

Definition

Stellt grundlegende Eigenschaften für den Eingabezeiger bereit, der einem einzelnen Maus-, Stift- oder Touchkontakt zugeordnet ist.

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
Vererbung
Object Platform::Object IInspectable Pointer
Attribute

Beispiele

Im folgenden Codebeispiel wird die Verwendung der Pointer-Klasse veranschaulicht, um die eindeutige PointerId jedes Eingabekontakts in einer App zu finden, pointerDeviceType zu verwenden, um bestimmte Eingabeformen (z. B. Mauseingabe) zu ignorieren und die Zeigerpositionen zu speichern. Zusätzlichen Code, der die Pointer-Klasse verwendet, finden Sie im Eingabebeispiel.

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;
        }
    }
}

Hinweise

Die Pointer -Klasse wird verwendet, um ein Eingabegerät zu beschreiben. Diese Klasse identifiziert das Eingabegerät (z. B. Eingabestift, Finger oder Maus) für jedes auftretende Zeigerereignis.

In den meisten Fällen wird empfohlen, Zeigerinformationen über das Ereignisargument der Zeigerereignishandler abzurufen (siehe PointerRoutedEventArgs).

Wenn das Ereignisargument die für Ihre App erforderlichen Zeigerdetails nicht intrinsisch verfügbar macht, können Sie über die Methoden GetCurrentPoint und GetIntermediatePoints von PointerRoutedEventArgs Zugriff auf erweiterte Zeigerdaten erhalten. Es wird empfohlen, diese Methoden zu verwenden, da Sie den Kontext der Zeigerdaten angeben können.

Eigenschaften

IsInContact

Ruft einen Wert ab, der bestimmt, ob das Zeigergerät zum Zeitpunkt der Ereignismeldung mit einem Sensor oder Digitalisierer in Kontakt war.

IsInRange

Ruft einen Wert ab, der angibt, ob sich das Zeigergerät innerhalb des Erkennungsbereichs eines Sensors oder Digitizers befindet.

PointerDeviceType

Ruft den PointerDeviceType für das Zeigergerät ab.

PointerId

Ruft den vom System generierten Bezeichner für diesen Zeigerverweis ab.

Gilt für:

Weitere Informationen