Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe TouchDevice

.NET Framework (current version)
 

Publicado: agosto de 2016

Representa uma única entrada de toque produzida por um dedo na tela de toque.

Namespace:   System.Windows.Input
Assembly:  PresentationCore (em PresentationCore.dll)


[UIPermissionAttribute(SecurityAction.InheritanceDemand, Unrestricted = true)]
public abstract class TouchDevice : InputDevice, IManipulator

NomeDescrição
System_CAPS_protmethodTouchDevice(Int32)

Chamado a partir de construtores em classes derivadas para inicializar o TouchDevice classe.

NomeDescrição
System_CAPS_pubpropertyActiveSource

Obtém o PresentationSource que está relatando a entrada para este dispositivo.(Substitui o InputDevice.ActiveSource.)

System_CAPS_pubpropertyCaptured

Obtém o elemento que capturou o TouchDevice.

System_CAPS_pubpropertyCaptureMode

Obtém a política captura o TouchDevice.

System_CAPS_pubpropertyDirectlyOver

Obtém o elemento que o ponto de contato de toque está diretamente acima.

System_CAPS_pubpropertyDispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.(Herdado de DispatcherObject.)

System_CAPS_pubpropertyId

Obtém o identificador exclusivo do TouchDevice, conforme fornecido pelo sistema operacional.

System_CAPS_pubpropertyIsActive

Obtém um valor que indica se o dispositivo está ativo.

System_CAPS_pubpropertyTarget

Obtém o elemento que recebe entrada a partir de TouchDevice.(Substitui o InputDevice.Target.)

NomeDescrição
System_CAPS_protmethodActivate()

Adiciona o TouchDevice para a sistema de mensagens de entrada.

System_CAPS_pubmethodCapture(IInputElement)

Captura um toque para o elemento especificado usando o Element modo de captura.

System_CAPS_pubmethodCapture(IInputElement, CaptureMode)

Captura um toque para o elemento especificado usando especificado CaptureMode.

System_CAPS_pubmethodCheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.(Herdado de DispatcherObject.)

System_CAPS_protmethodDeactivate()

Remove o TouchDevice da entrada de sistema de mensagens.

System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetIntermediateTouchPoints(IInputElement)

Quando substituído em uma classe derivada, retorna todos os pontos de toque que são coletados entre os mais recentes e anteriores de eventos de toque.

System_CAPS_pubmethodGetTouchPoint(IInputElement)

Retorna a posição atual do dispositivo toque em relação ao elemento especificado.

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_protmethodOnCapture(IInputElement, CaptureMode)

Chamado quando um toque é capturado para um elemento.

System_CAPS_protmethodOnManipulationEnded(Boolean)

Chamado quando uma manipulação terminou.

System_CAPS_protmethodOnManipulationStarted()

Chamado quando uma manipulação é iniciada.

System_CAPS_protmethodReportDown()

Informa que um toque é pressionado em um elemento.

System_CAPS_protmethodReportMove()

Relatórios que está se movendo um toque em um elemento.

System_CAPS_protmethodReportUp()

Informa que um toque foi eliminado de um elemento.

System_CAPS_protmethodSetActiveSource(PresentationSource)

Conjuntos de PresentationSource que está relatando a entrada para este dispositivo.

System_CAPS_pubmethodSynchronize()

Força o TouchDevice para sincronizar a interface do usuário com base os pontos de contato.

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

System_CAPS_pubmethodVerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.(Herdado de DispatcherObject.)

NomeDescrição
System_CAPS_pubeventActivated

Ocorre quando o TouchDevice é adicionado à entrada de sistema de mensagens.

System_CAPS_pubeventDeactivated

Ocorre quando o TouchDevice é removida da sistema de mensagens de entrada.

System_CAPS_pubeventUpdated

Ocorre quando uma mensagem de toque é enviada.

NomeDescrição
System_CAPS_pubinterfaceSystem_CAPS_privmethodIManipulator.GetPosition(IInputElement)

Retorna a posição do IManipulator objeto.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIManipulator.ManipulationEnded(Boolean)

Ocorre quando uma manipulação terminou.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIManipulator.Id

Obtém o identificador exclusivo do TouchDevice conforme fornecido pelo sistema operacional.

You typically access a T:System.Windows.Input.TouchDevice by using the P:System.Windows.Input.TouchEventArgs.TouchDevice property. A T:System.Windows.Input.TouchDevice represents a single touch on a screen. If multiple touches are present, use the P:System.Windows.Input.TouchDevice.Id property to distinguish between them.

System_CAPS_noteObservação

This class contains an inheritance demand at the class level that applies to all members. A T:System.Security.SecurityException is thrown when the derived class does not have full-trust permission. For more information about security demands, see Link Demands and Inheritance Demands.

The following example enables you to create simple patterns on a T:System.Windows.Controls.Canvas by dragging two fingers on a touchscreen. Each touch is represented by a T:System.Windows.Input.TouchDevice in the T:System.Windows.Input.TouchEventArgs. The pattern is created by drawing a line between the touch points that are provided by the touches. This example requires a Windows Touch–compatible screen.

The following markup creates the user interface, which consists of a T:System.Windows.Controls.Canvas that is centered in a grid, and attaches the event handlers for the touch events.

<Window x:Class="WpfTouchEventsSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="525" Width="525">
    <Grid>
        <Canvas x:Name="canvas1"
                Width="500" Height="500"
                Background="Black"
                TouchDown="canvas_TouchDown"
                TouchMove="canvas_TouchMove"
                TouchUp="canvas_TouchUp" />
    </Grid>
</Window>

The following code handles the touch events. When a touch is pressed on the T:System.Windows.Controls.Canvas, the T:System.Windows.Input.TouchDevice is captured to the T:System.Windows.Controls.Canvas. When the touch is lifted, the T:System.Windows.Input.TouchDevice is released. When a touch moves on the T:System.Windows.Controls.Canvas, the P:System.Windows.Input.TouchDevice.Id is checked. If the move came from the first touch, its location is recorded. If the move came from the second touch, a line is drawn from the position of the first touch to the position of the second touch.

using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Shapes;
using System.Windows.Controls;

namespace WpfTouchEventsSample
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        // Variables to track the first two touch points 
        // and the ID of the first touch point.
        private Point pt1, pt2 = new Point();
        private int firstTouchId = -1;

        public MainWindow()
        {
            InitializeComponent();
        }

        private void canvas_TouchDown(object sender, TouchEventArgs e)
        {
            Canvas _canvas = (Canvas)sender as Canvas;
            if (_canvas != null)
            {
                _canvas.Children.Clear();
                e.TouchDevice.Capture(_canvas);

                // Record the ID of the first touch point if it hasn't been recorded.
                if (firstTouchId == -1)
                    firstTouchId = e.TouchDevice.Id;
            }
        }

        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);
                }
            }
        }

        private void canvas_TouchUp(object sender, TouchEventArgs e)
        {
            Canvas _canvas = (Canvas)sender as Canvas;
            if (_canvas != null && e.TouchDevice.Captured == _canvas)
            {
                _canvas.ReleaseTouchCapture(e.TouchDevice);
            }
        }
    }
}

UIPermission

for deriving from this class. Security action: F:System.Security.Permissions.SecurityAction.InheritanceDemand. Associated enumeration: F:System.Security.Permissions.PermissionState.Unrestricted

.NET Framework
Disponível desde 4.0
Silverlight
Disponível desde 3.0
Windows Phone Silverlight
Disponível desde 7.0

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: