PointerPointProperties.IsPrimary Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.