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. Altrimenti, falso.
Esempio
In questo esempio vengono utilizzati puntini di sospensione colorati diversi per indicare se il puntatore associato a 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 possono essere presenti 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 non 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.