Compartir a través de


PointerPointProperties.IsPrimary Propiedad

Definición

Obtiene un valor que indica si la entrada procede del puntero principal cuando se registran varios punteros.

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

Valor de propiedad

Boolean

bool

True si la entrada es del puntero designado como principal; en caso contrario, false.

Ejemplos

En este ejemplo se usan puntos suspensivos de color diferentes para mostrar si el puntero asociado a PointerRoutedEventArgs es el puntero principal.

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

Comentarios

El puntero principal es un único puntero (táctil, mouse y lápiz/lápiz) en la interacción actual.

Para el mouse, el puntero principal es el único puntero para el que se pueden generar eventos del mouse.

En el caso de la función táctil (donde puede haber varios punteros simultáneos), el puntero principal es el primer contacto de una interacción. Para cualquier interacción después del primer evento PointerPressed , IsPrimary devuelve false.

Un nuevo puntero principal solo se registra cuando se quitan todos los contactos de esa interacción y posteriormente se detecta un nuevo contacto.

Un puntero principal puede realizar acciones que no están disponibles para otros punteros. Por ejemplo, cuando un puntero principal genera un mensaje WM_POINTERDOWN en una ventana inactiva, también se envía un mensaje de WM_POINTERACTIVATE] a esa ventana.

Se aplica a