Freigeben über


Pointer Klasse

Definition

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

public ref class Pointer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Pointer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class Pointer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Pointer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 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

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Das folgende Codebeispiel zeigt die Verwendung der Pointer-Klasse, 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

In den meisten Fällen wird empfohlen, Zeigerinformationen über das Ereignisargument der Zeigerereignishandler im ausgewählten Sprachframework abzurufen (Windows-App mit JavaScript, UWP-App mit C++, C# oder Visual Basic oder UWP-App mit DirectX mit C++).

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.

Die statischen PointerPoint-MethodenGetCurrentPoint und GetIntermediatePoints verwenden immer den Kontext der App. Der Zeiger ist eine abstrakte Klasse, die verwendet wird, um ein Eingabegerät zu beschreiben. Diese Klasse identifiziert das Eingabegerät (z. B. Eingabestift, Finger oder Maus) für jedes zeigerereignis, das auftritt.

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 Digitalisierers befindet.

PointerDeviceType

Ruft pointerDeviceType für das Zeigergerät ab.

PointerId

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

Gilt für:

Weitere Informationen