PointerPointProperties.IsPrimary プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
複数のポインターが登録されている場合に、入力がプライマリ ポインターからのものかどうかを示す値を取得します。
public:
property bool IsPrimary { bool get(); };
bool IsPrimary();
public bool IsPrimary { get; }
var boolean = pointerPointProperties.isPrimary;
Public ReadOnly Property IsPrimary As 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;
}
注釈
プライマリ ポインターは、現在の操作における 1 つのポインター (タッチ、マウス、ペン/スタイラス) です。
マウスの場合、マウス イベントを生成できる唯一のポインターはプライマリ ポインターです。
タッチの場合 (複数の同時ポインターが存在する可能性があります)、プライマリ ポインターは対話の最初の接触です。 最初の UIElement.PointerPressed イベントの後の操作では、IsPrimary は false を返します。
新しいプライマリ ポインターは、その操作のすべての連絡先が削除され、その後新しい連絡先が検出された場合にのみ登録されます。
プライマリ ポインターは、他のポインターでは使用できないアクションを実行できます。 たとえば、プライマリ ポインターが非アクティブなウィンドウに WM_POINTERDOWN メッセージを生成すると、 WM_POINTERACTIVATE メッセージもそのウィンドウに送信されます。