PointerPointProperties.IsPrimary Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.