PointerPointProperties.IsPrimary Eigenschaft
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.
Ruft einen Wert ab, der angibt, ob die Eingabe vom primären Zeiger stammt, wenn mehrere Zeiger registriert werden.
public:
property bool IsPrimary { bool get(); };
bool IsPrimary();
public bool IsPrimary { get; }
var boolean = pointerPointProperties.isPrimary;
Public ReadOnly Property IsPrimary As Boolean
Eigenschaftswert
bool
True, wenn die Eingabe von dem als primär bezeichneten Zeiger stammt; andernfalls false.
Beispiele
In diesem Beispiel werden verschiedene farbige Auslassungspunkte verwendet, um zu zeigen, ob der Zeiger, der dem PointerRoutedEventArgs zugeordnet ist, der primäre Zeiger ist.
private void MainPage_PointerPressed(object sender, PointerRoutedEventArgs e)
{
PointerPoint pt = e.GetCurrentPoint(pointerCanvas);
contacts[pt.PointerId] = pt;
PointerCounter.Text = contacts.Count.ToString();
Ellipse ellipse = new Ellipse();
ellipse.StrokeThickness = 2;
ellipse.Width = ellipseDiameter;
ellipse.Height = ellipseDiameter;
ellipse.Tag = pt.PointerId;
TranslateTransform translate = new TranslateTransform();
translate.X = pt.Position.X - ellipseDiameter / 2;
translate.Y = pt.Position.Y - ellipseDiameter / 2;
ellipse.RenderTransform = translate;
pointerCanvas.Children.Add(ellipse);
if (pt.Properties.IsPrimary == true)
{
primaryPointer = pt;
primaryEllipse = ellipse;
primaryEllipse.Scale(scaleX: 2, scaleY: 2, centerX: 0, centerY: 0).Start();
ellipse.Stroke = new SolidColorBrush(Windows.UI.ColorHelper.FromArgb(255, 255, 0, 0));
// Create the transform
ScaleTransform scaleTransform = new ScaleTransform();
scaleTransform.ScaleX = primaryEllipse.Width * 1.25;
scaleTransform.ScaleY = primaryEllipse.Height * 1.25;
primaryEllipse.RenderTransform = scaleTransform;
PointerPrimary.Text = pt.PointerId.ToString();
}
else
ellipse.Stroke = new SolidColorBrush(Windows.UI.ColorHelper.FromArgb(255, 0, 0, 255));
e.Handled = true;
}
Hinweise
Der primäre Zeiger ist ein einzelner Zeiger (Toucheingabe, Maus und Stift/Eingabestift) in der aktuellen Interaktion.
Für Maus ist der primäre Zeiger der einzige Zeiger, für den Mausereignisse generiert werden können.
Bei der Toucheingabe (bei der mehrere gleichzeitige Zeiger vorhanden sein können) ist der primäre Zeiger der erste Kontakt in einer Interaktion. Für jede Interaktion nach dem ersten PointerPressed-Ereignis gibt IsPrimary false zurück.
Ein neuer primärer Zeiger wird nur registriert, wenn alle Kontakte in dieser Interaktion entfernt und anschließend ein neuer Kontakt erkannt wird.
Ein primärer Zeiger kann Aktionen ausführen, die für andere Zeiger nicht verfügbar sind. Wenn beispielsweise ein primärer Zeiger eine WM_POINTERDOWN Nachricht in einem inaktiven Fenster generiert, wird auch eine WM_POINTERACTIVATE]-Nachricht an dieses Fenster gesendet.