PointerPointProperties.IsPrimary Eigenschaft

Definition

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

Boolean

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.

Gilt für: