TouchDevice Class
Represents a single touch input produced by a finger on a touchscreen.
Assembly: PresentationCore (in PresentationCore.dll)
System.Windows.Threading::DispatcherObject
System.Windows.Input::InputDevice
System.Windows.Input::TouchDevice
| Name | Description | |
|---|---|---|
![]() | TouchDevice(Int32) | Called from constructors in derived classes to initialize the TouchDevice class. |
| Name | Description | |
|---|---|---|
![]() | ActiveSource | Gets the PresentationSource that is reporting input for this device.(Overrides InputDevice::ActiveSource.) |
![]() | Captured | Gets the element that captured the TouchDevice. |
![]() | CaptureMode | Gets the capture policy of the TouchDevice. |
![]() | DirectlyOver | Gets the element that the touch contact point is directly over. |
![]() | Dispatcher | Gets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject.) |
![]() | Id | Gets the unique identifier of the TouchDevice, as provided by the operating system. |
![]() | IsActive | Gets a value that indicates whether the device is active. |
![]() | Target | Gets the element that receives input from the TouchDevice.(Overrides InputDevice::Target.) |
| Name | Description | |
|---|---|---|
![]() | Activate() | Adds the TouchDevice to the input messaging system. |
![]() | Capture(IInputElement^) | Captures a touch to the specified element by using the Element capture mode. |
![]() | Capture(IInputElement^, CaptureMode) | Captures a touch to the specified element by using the specified CaptureMode. |
![]() | CheckAccess() | Determines whether the calling thread has access to this DispatcherObject.(Inherited from DispatcherObject.) |
![]() | Deactivate() | Removes the TouchDevice from the input messaging system. |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetIntermediateTouchPoints(IInputElement^) | When overridden in a derived class, returns all touch points that are collected between the most recent and previous touch events. |
![]() | GetTouchPoint(IInputElement^) | Returns the current position of the touch device relative to the specified element. |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | OnCapture(IInputElement^, CaptureMode) | Called when a touch is captured to an element. |
![]() | OnManipulationEnded(Boolean) | Called when a manipulation has ended. |
![]() | OnManipulationStarted() | Called when a manipulation is started. |
![]() | ReportDown() | Reports that a touch is pressed on an element. |
![]() | ReportMove() | Reports that a touch is moving across an element. |
![]() | ReportUp() | Reports that a touch was lifted from an element. |
![]() | SetActiveSource(PresentationSource^) | Sets the PresentationSource that is reporting input for this device. |
![]() | Synchronize() | Forces the TouchDevice to synchronize the user interface with underlying touch points. |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
![]() | VerifyAccess() | Enforces that the calling thread has access to this DispatcherObject.(Inherited from DispatcherObject.) |
| Name | Description | |
|---|---|---|
![]() | Activated | Occurs when the TouchDevice is added to the input messaging system. |
![]() | Deactivated | Occurs when the TouchDevice is removed from the input messaging system. |
![]() | Updated | Occurs when a touch message is sent. |
| Name | Description | |
|---|---|---|
![]() ![]() | IManipulator::GetPosition(IInputElement^) | Returns the position of the IManipulator object. |
![]() ![]() | IManipulator::ManipulationEnded(Boolean) | Occurs when a manipulation has ended. |
![]() ![]() | IManipulator::Id | Gets the unique identifier of the TouchDevice as provided by the operating system. |
You typically access a TouchDevice by using the TouchEventArgs::TouchDevice property. A TouchDevice represents a single touch on a screen. If multiple touches are present, use the Id property to distinguish between them.
Note |
|---|
This class contains an inheritance demand at the class level that applies to all members. A 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 Canvas by dragging two fingers on a touchscreen. Each touch is represented by a TouchDevice in the 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 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 Canvas, the TouchDevice is captured to the Canvas. When the touch is lifted, the TouchDevice is released. When a touch moves on the Canvas, the 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.
for deriving from this class. Security action: InheritanceDemand. Associated enumeration: PermissionState::Unrestricted
Available since 4.0
Silverlight
Available since 3.0
Windows Phone Silverlight
Available since 7.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.







