Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo TouchFrameEventArgs.GetPrimaryTouchPoint

Restituisce la posizione corrente tocco del dispositivo a tocco primario all'elemento specificato.

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

public TouchPoint GetPrimaryTouchPoint(
	IInputElement relativeTo
)

Parametri

relativeTo
Tipo: System.Windows.IInputElement
L'elemento che definisce lo spazio di coordinate. Per utilizzare le coordinate assolute WPF, specificare relativeTo come null.

Valore restituito

Tipo: System.Windows.Input.TouchPoint
La posizione corrente del principale TouchDevice all'elemento specificato; o null se il principale TouchDevice non è attivo.

In un set di dispositivo a tocco attivi, il primo dispositivo per essere Activated è il dispositivo a tocco primario. Ad esempio, se due dita stanno toccando lo schermo, il primo dito che è premuto è rappresentato dal dispositivo a tocco primario. Se il primo dito è quanto tale operazione genera mentre il dito medio è ancora verso il basso, il dispositivo a tocco primario diventa null.

Il codice riportato di seguito elabora i punti di tocco recuperati da TouchFrameEventArgs. Quando un tocco viene premuto su Canvas, TouchDevice viene acquisito a Canvas. Quando il tocco viene quanto tale operazione genera, TouchDevice viene rilasciato. Quando un tocco viene spostato in Canvas, Id viene controllato. se Id corrisponde a Id il punto primario tocco, che indica il primo tocco, la posizione viene registrata. Se l'operazione ha dal secondo tocco, una linea viene tracciata dalla posizione del primo tocco alla posizione del secondo tocco.

Questo esempio fa parte di un esempio più esaustivo disponibile in Touch panoramica della 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

Supportato in: 4.5, 4

.NET Framework Client Profile

Supportato in: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft