PointerPointProperties.IsPrimary Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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.