Bagikan melalui


PointerPointProperties.IsPrimary Properti

Definisi

Mendapatkan nilai yang menunjukkan apakah input berasal dari pointer utama saat beberapa pointer terdaftar.

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

Nilai Properti

Boolean

bool

True jika input berasal dari pointer utama. Jika tidak, salah.

Contoh

Contoh ini menggunakan elipsis berwarna yang berbeda untuk menunjukkan apakah penunjuk yang terkait dengan PointerRoutedEventArgs adalah penunjuk utama.

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

Keterangan

Penunjuk utama adalah penunjuk tunggal (sentuhan, mouse, dan pena/stylus) dalam interaksi saat ini.

Untuk mouse, penunjuk utama adalah satu-satunya penunjuk di mana peristiwa mouse dapat dihasilkan.

Untuk sentuhan (di mana mungkin ada beberapa penunjuk bersamaan), penunjuk utama adalah kontak pertama dalam interaksi. Untuk interaksi apa pun setelah peristiwa UIElement.PointerPressed pertama, IsPrimary mengembalikan false.

Pointer utama baru hanya terdaftar ketika semua kontak dalam interaksi tersebut dihapus dan kontak baru kemudian terdeteksi.

Penunjuk utama dapat melakukan tindakan yang tidak tersedia untuk pointer lain. Misalnya, ketika pointer utama menghasilkan pesan WM_POINTERDOWN pada jendela yang tidak aktif, pesan WM_POINTERACTIVATE juga dikirim ke jendela tersebut.

Berlaku untuk