Bagikan melalui


PointerPointProperties.IsPrimary Properti

Definisi

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

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 yang ditetapkan sebagai primer; jika tidak salah.

Contoh

Contoh ini menggunakan elipsis berwarna yang berbeda untuk menunjukkan apakah pointer 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 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 penunjuk utama menghasilkan pesan WM_POINTERDOWN pada jendela yang tidak aktif, pesan WM_POINTERACTIVATE] juga dikirim ke jendela tersebut.

Berlaku untuk