Condividi tramite


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. In caso contrario, false.

Esempio

In questo esempio vengono usati puntini di sospensione colorati diversi per mostrare se il puntatore associato al puntatore 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 può essere presente 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 che non sono 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