다음을 통해 공유


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] 메시지도 해당 창으로 전송됩니다.

적용 대상