PointerPointProperties.IsPrimary Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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.