Partilhar via


PointerPointProperties.IsPrimary Propriedade

Definição

Obtém um valor que indica se a entrada é do ponteiro primário quando vários ponteiros são registrados.

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

Valor da propriedade

Boolean

bool

True se a entrada for do ponteiro primário. Caso contrário, false.

Exemplos

Este exemplo usa reticências coloridas diferentes para mostrar se o ponteiro associado ao PointerRoutedEventArgs é o ponteiro primário.

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

Comentários

O ponteiro primário é um único ponteiro (toque, mouse e caneta/caneta) na interação atual.

Para o mouse, o ponteiro primário é o único ponteiro para o qual os eventos do mouse podem ser gerados.

Para toque (em que pode haver vários ponteiros simultâneos), o ponteiro primário é o primeiro contato em uma interação. Para qualquer interação após o primeiro evento UIElement.PointerPressed , IsPrimary retorna false.

Um novo ponteiro primário só é registrado quando todos os contatos nessa interação são removidos e um novo contato é detectado posteriormente.

Um ponteiro primário pode executar ações que não estão disponíveis para outros ponteiros. Por exemplo, quando um ponteiro primário gera uma mensagem WM_POINTERDOWN em uma janela inativa, uma mensagem de WM_POINTERACTIVATE também é enviada para essa janela.

Aplica-se a