TouchFrameEventArgs Classe

Definição

Fornece dados para o evento de FrameReported .

public sealed class TouchFrameEventArgs : EventArgs
Herança
TouchFrameEventArgs

Exemplos

O exemplo a seguir manipula o FrameReported evento e acessa os dados de toque no TouchFrameEventArgs. Quando um toque é pressionado no Canvas, o TouchDevice é capturado no Canvas. Quando o toque é levantado, o TouchDevice é liberado. Quando um toque se move pelo Canvas, o Id é verificado. Se a movimentação veio do primeiro toque, sua localização será registrada. Se a movimentação veio do segundo toque, uma linha é desenhada da posição do primeiro toque para a posição do segundo toque.

Este exemplo faz parte de um exemplo maior que está disponível na visão geral da Touch classe.

public partial class MainWindow : Window
{
    // Variables for tracking the position of two points.
    Point pt1, pt2 = new Point();
    
    public MainWindow()
    {
        InitializeComponent();
        Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);
    }

    void Touch_FrameReported(object sender, TouchFrameEventArgs e)
    {
        if (this.canvas1 != null)
        {
            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);
                    }
                }
            }                        
        }
    }
}

Comentários

O FrameReported evento está incluído no Windows Presentation Foundation (WPF) para dar suporte à compatibilidade com o Silverlight. Se você não precisar garantir a compatibilidade com o Silverlight, use os eventos de toque, como TouchDown e TouchMove, em UIElement, UIElement3Dou ContentElement.

Use o TouchFrameEventArgs para obter os TouchPoint valores relevantes para o evento touch. TouchPointNo , você pode obter o Position do toque e determinar se o foi uma Downação TouchAction , Moveou Up . Você também pode usar o TouchPoint para obter o TouchDevice. TouchDeviceNo , você pode determinar o dispositivo Id e obter informações sobre o elemento que é tocado.

Propriedades

Timestamp

Obtém o carimbo de hora para esse evento.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetPrimaryTouchPoint(IInputElement)

Retorna o ponto de toque atual do dispositivo primário toque em relação ao elemento especificado.

GetTouchPoints(IInputElement)

Retorna uma coleção que contém o ponto de toque atual para cada dispositivo de toque ativo em relação ao elemento especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SuspendMousePromotionUntilTouchUp()

Este membro não está implementado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Produto Versões
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9