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] 消息也会发送到该窗口。

适用于