PointerPointProperties.IsPrimary Свойство

Определение

Возвращает значение, указывающее, являются ли входные данные из первичного указателя при регистрации нескольких указателей.

public:
 property bool IsPrimary { bool get(); };
bool IsPrimary();
public bool IsPrimary { get; }
var boolean = pointerPointProperties.isPrimary;
Public ReadOnly Property IsPrimary As Boolean

Значение свойства

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 .

Применяется к