Поделиться через


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;
}

Комментарии

Основной указатель — это один указатель (сенсорный ввод, мышь, перо или перо) в текущем взаимодействии.

Для мыши основной указатель является единственным указателем, для которого могут создаваться события мыши.

Для сенсорного ввода (где может быть несколько одновременных указателей) основной указатель является первым контактом во взаимодействии. Для любого взаимодействия после первого события PointerPressed IsPrimary возвращает значение false.

Новый основной указатель регистрируется только при удалении всех контактов в этом взаимодействии и последующем обнаружении нового контакта.

Основной указатель может выполнять действия, недоступные другим указателям. Например, когда основной указатель создает сообщение WM_POINTERDOWN в неактивном окне, в это окно также отправляется сообщение WM_POINTERACTIVATE].

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