Поделиться через


TouchDevice.Id Свойство

Определение

Возвращает уникальный идентификатор операционной TouchDeviceсистемы, как указано в операционной системе.

public:
 property int Id { int get(); };
public int Id { get; }
member this.Id : int
Public ReadOnly Property Id As Integer

Значение свойства

Уникальный идентификатор TouchDeviceобъекта .

Примеры

В следующем примере обрабатываются TouchMove события, происходящие в объекте Canvas. При перемещении касания на ней CanvasId проверяется. Если перемещение произошло с первого касания, его расположение записывается. Если шаг пришел от второго касания, линия рисуется из позиции первого касания к позиции второго касания.

Этот пример является частью более крупного примера, доступного в обзоре TouchDevice класса.

private void canvas_TouchMove(object sender, TouchEventArgs e)
{
    Canvas _canvas = (Canvas)sender as Canvas;
    if (_canvas != null)
    {
        TouchPoint tp = e.GetTouchPoint(_canvas);
        // This is the first touch point; just record its position.
        if (e.TouchDevice.Id == firstTouchId)
        {
            pt1.X = tp.Position.X;
            pt1.Y = tp.Position.Y;
        }
        // This is not the first touch point; draw a line from the first point to this one.
        else if (e.TouchDevice.Id != firstTouchId)
        {
            pt2.X = tp.Position.X;
            pt2.Y = tp.Position.Y;

            Line _line = new Line();
            _line.Stroke = new RadialGradientBrush(Colors.White, Colors.Black);
            _line.X1 = pt1.X;
            _line.X2 = pt2.X;
            _line.Y1 = pt1.Y;
            _line.Y2 = pt2.Y;

            _line.StrokeThickness = 2;
            _canvas.Children.Add(_line);
        }
    }
}
' Touch Move
Private Sub canvas_TouchMove(ByVal sender As System.Object, ByVal e As System.Windows.Input.TouchEventArgs)
    Dim _canvas As Canvas = CType(sender, Canvas)
    If (_canvas IsNot Nothing) Then
        Dim tp = e.GetTouchPoint(_canvas)
        ' This is the first touch point; just record its position.
        If e.TouchDevice.Id = firstTouchId Then
            pt1.X = tp.Position.X
            pt1.Y = tp.Position.Y

            ' This is not the first touch point; draw a line from the first point to this one.
        ElseIf e.TouchDevice.Id <> firstTouchId Then
            pt2.X = tp.Position.X
            pt2.Y = tp.Position.Y

            Dim _line As New Line()
            _line.Stroke = New RadialGradientBrush(Colors.White, Colors.Black)
            _line.X1 = pt1.X
            _line.X2 = pt2.X
            _line.Y1 = pt1.Y
            _line.Y2 = pt2.Y

            _line.StrokeThickness = 2
            _canvas.Children.Add(_line)
        End If
    End If
End Sub

Комментарии

Представляет TouchDevice один сенсорный элемент на экране. Если присутствуют несколько касаний, используйте Id свойство для различения между ними.

Применяется к