PointerPointProperties.IsPrimary Proprietà

Definizione

Ottiene un valore che indica se l'input proviene dal puntatore primario quando vengono registrati più puntatori.

public:
 property bool IsPrimary { bool get(); };
bool IsPrimary();
public bool IsPrimary { get; }
var boolean = pointerPointProperties.isPrimary;
Public ReadOnly Property IsPrimary As Boolean

Valore della proprietà

Boolean

bool

True se l'input proviene dal puntatore primario. Altrimenti, falso.

Esempio

In questo esempio vengono utilizzati puntini di sospensione colorati diversi per indicare se il puntatore associato a PointerRoutedEventArgs è il puntatore primario.

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

Commenti

Il puntatore primario è un singolo puntatore (tocco, mouse e penna/stilo) nell'interazione corrente.

Per il mouse, il puntatore primario è l'unico puntatore per cui è possibile generare gli eventi del mouse.

Per il tocco (dove possono essere presenti più puntatori simultanei), il puntatore primario è il primo contatto in un'interazione. Per qualsiasi interazione dopo il primo evento UIElement.PointerPressed , IsPrimary restituisce false.

Un nuovo puntatore primario viene registrato solo quando tutti i contatti in tale interazione vengono rimossi e viene successivamente rilevato un nuovo contatto.

Un puntatore primario può eseguire azioni non disponibili per altri puntatori. Ad esempio, quando un puntatore primario genera un messaggio di WM_POINTERDOWN in una finestra inattiva, viene inviato anche un messaggio WM_POINTERACTIVATE a tale finestra.

Si applica a