Pointer Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |