PointerPointProperties.IsPrimary Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, являются ли входные данные из первичного указателя при регистрации нескольких указателей.
public:
property bool IsPrimary { bool get(); };
bool IsPrimary();
public bool IsPrimary { get; }
var boolean = pointerPointProperties.isPrimary;
Public ReadOnly Property IsPrimary As Boolean
Значение свойства
bool
Значение True, если входные данные являются из первичного указателя. В противном случае — false.
Примеры
В этом примере используются разные цветные многоточия, чтобы показать, является ли указатель, связанный с PointerRoutedEventArgs , основным указателем.
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;
}
Комментарии
Основной указатель — это один указатель (сенсорный, мышь и перо или перо) в текущем взаимодействии.
Для мыши основной указатель является единственным указателем, для которого можно создать события мыши.
Для сенсорного ввода (где может быть несколько одновременных указателей), основной указатель является первым контактом в взаимодействии. Для любого взаимодействия после первого события UIElement.PointerPressed IsPrimary возвращает значение false.
Новый первичный указатель регистрируется только при удалении всех контактов в этом взаимодействии и последующем обнаружен новый контакт.
Основной указатель может выполнять действия, недоступные другим указателям. Например, когда основной указатель создает сообщение WM_POINTERDOWN в неактивном окне, в это окно также отправляется сообщение WM_POINTERACTIVATE .