TouchFrameEventArgs 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
FrameReported 이벤트에 대한 데이터를 제공합니다.
public ref class TouchFrameEventArgs sealed : EventArgs
public sealed class TouchFrameEventArgs : EventArgs
type TouchFrameEventArgs = class
inherit EventArgs
Public NotInheritable Class TouchFrameEventArgs
Inherits EventArgs
- 상속
예제
다음 예제에서는 처리를 FrameReported 이벤트에서 터치 데이터에 액세스 하 고는 TouchFrameEventArgs합니다. 터치를 눌렀음을 합니다 Canvas, TouchDevice 에 캡처되는지를 Canvas입니다. 터치 리프트 된 때를 TouchDevice 해제 됩니다. 터치에서 이동 하는 경우는 Canvas, Id 확인란이 선택 되어 있습니다. 첫 번째 터치에서 이동 하는 경우, 해당 위치에 기록 됩니다. 두 번째 터치에서 이동 하는 경우, 두 번째 터치 위치를 줄의 첫 번째 터치 위치에서 그려집니다.
이 예제는에서 사용할 수 있는 보다 큰 예제의 일부는 Touch 클래스 개요입니다.
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);
}
}
}
}
}
}
Class MainWindow
' Variables for tracking the position of two points.
Private pt1, pt2 As Point
Public Sub New()
InitializeComponent()
AddHandler Touch.FrameReported, AddressOf Touch_FrameReported
End Sub
Private Sub Touch_FrameReported(ByVal sender As System.Object, ByVal e As System.Windows.Input.TouchFrameEventArgs)
If (canvas1 IsNot Nothing) Then
For Each _touchPoint In e.GetTouchPoints(Me.canvas1)
If _touchPoint.Action = TouchAction.Down Then
' Clear the canvas and capture the touch to it.
canvas1.Children.Clear()
_touchPoint.TouchDevice.Capture(canvas1)
ElseIf _touchPoint.Action = TouchAction.Move Then
' This is the first (primary) touch point. Just record its position.
If _touchPoint.TouchDevice.Id = e.GetPrimaryTouchPoint(Me.canvas1).TouchDevice.Id Then
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.
ElseIf _touchPoint.TouchDevice.Id <> e.GetPrimaryTouchPoint(Me.canvas1).TouchDevice.Id Then
pt2.X = _touchPoint.Position.X
pt2.Y = _touchPoint.Position.Y
Dim _line As 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
Me.canvas1.Children.Add(_line)
End If
ElseIf _touchPoint.Action = TouchAction.Up Then
' If this touch is captured to the canvas, release it.
If (_touchPoint.TouchDevice.Captured Is canvas1) Then
canvas1.ReleaseTouchCapture(_touchPoint.TouchDevice)
End If
End If
Next
End If
End Sub
End Class
설명
이 FrameReported 이벤트는 Silverlight와의 호환성을 지원하기 위해 WPF(Windows Presentation Foundation)에 포함됩니다. Silverlight 사용 하 여 호환성을 보장 해야 하는 경우 사용 하 여 터치 이벤트와 같은 TouchDown 하 고 TouchMove의 UIElement를 UIElement3D, 또는 ContentElement합니다.
사용 합니다 TouchFrameEventArgs 가져오려는 TouchPoint 터치 이벤트와 관련 된 값입니다. TouchPoint를 가져올 수 있습니다를 Position 터치의 확인 및 있는지 여부를 TouchAction 되었습니다를 Down, Move, 또는 Up 작업. 사용할 수도 있습니다는 TouchPoint 가져오려고 합니다 TouchDevice합니다. TouchDevice, 디바이스를 확인할 수 있습니다 Id 받고 있는 위치의 요소에 대 한 정보.
속성
Timestamp |
이 이벤트에 대한 타임스탬프를 가져옵니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetPrimaryTouchPoint(IInputElement) |
지정된 요소를 기준으로 기본 터치 디바이스의 현재 터치 지점을 반환합니다. |
GetTouchPoints(IInputElement) |
지정된 요소를 기준으로 각 활성 터치 디바이스에 대한 현재 터치 지점을 포함하는 컬렉션을 반환합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
SuspendMousePromotionUntilTouchUp() |
이 멤버는 구현되어 있지 않습니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET