Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo TouchFrameEventArgs.GetTouchPoints (IInputElement)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Restituisce una raccolta che contiene il punto di tocco corrente per ogni dispositivo a tocco attivo rispetto all'elemento specificato.

Spazio dei nomi:   System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

public TouchPointCollection GetTouchPoints(
	IInputElement relativeTo
)

Parametri

relativeTo
Type: System.Windows.IInputElement

L'elemento che definisce lo spazio delle coordinate. Per utilizzare le coordinate assolute WPF, specificare relativeTo come null.

Valore restituito

Type: System.Windows.Input.TouchPointCollection

Una raccolta che contiene l'oggetto corrente TouchPoint ogni Active TouchDevice.

Nell'esempio di codice i punti di tocco recuperati da processi di TouchFrameEventArgs. Quando viene premuto un tocco nell'area di disegno, la TouchDevice viene acquisito all'area di disegno. Quando viene generato il tocco, il TouchDevice viene rilasciato. Quando un tocco si sposta nell'area di disegno, il Id sia selezionata. Se il Id corrisponde il Id del punto di tocco primario, che indica il primo tocco, viene registrato il relativo percorso. Se lo spostamento deriva dal secondo tocco, una linea viene tracciata dalla posizione del primo tocco alla posizione del secondo tocco.

In questo esempio fa parte di un esempio più esaustivo disponibile nel Touch Cenni preliminari sulla classe.

foreach (TouchPoint _touchPoint in e.GetTouchPoints(this.canvas1))
{
    if (_touchPoint.Action == TouchAction.Down)
    {
        // Clear the canvas and capture the touch to it.
        this.canvas1.Children.Clear();
        _touchPoint.TouchDevice.Capture(this.canvas1);
    }

    else if (_touchPoint.Action == TouchAction.Move && e.GetPrimaryTouchPoint(this.canvas1) != null)
    {   
        // This is the first (primary) touch point. Just record its position.
        if (_touchPoint.TouchDevice.Id == e.GetPrimaryTouchPoint(this.canvas1).TouchDevice.Id)
        {
            pt1.X = _touchPoint.Position.X;
            pt1.Y = _touchPoint.Position.Y;
        }

        // This is not the first touch point. Draw a line from the first point to this one.
        else if (_touchPoint.TouchDevice.Id != e.GetPrimaryTouchPoint(this.canvas1).TouchDevice.Id)
        {
            pt2.X = _touchPoint.Position.X;
            pt2.Y = _touchPoint.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;
            this.canvas1.Children.Add(_line);
        }
    }

    else if (_touchPoint.Action == TouchAction.Up)
    {
        // If this touch is captured to the canvas, release it.
        if (_touchPoint.TouchDevice.Captured == this.canvas1)
        {
            this.canvas1.ReleaseTouchCapture(_touchPoint.TouchDevice);
        }
    }
}                        

.NET Framework
Disponibile da 4.0
Torna all'inizio
Mostra: