ManipulationDeltaEventArgs 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ManipulationDelta 이벤트에 대한 데이터를 제공합니다.
public ref class ManipulationDeltaEventArgs sealed : System::Windows::Input::InputEventArgs
public sealed class ManipulationDeltaEventArgs : System.Windows.Input.InputEventArgs
type ManipulationDeltaEventArgs = class
inherit InputEventArgs
Public NotInheritable Class ManipulationDeltaEventArgs
Inherits InputEventArgs
- 상속
예제
다음 예제에서는 이벤트 처리기는 ManipulationDelta 이벤트입니다. 예제에서는 합니다 DeltaManipulation 속성을 이동, 크기 조정 및 회전을 Rectangle. 예제에서는 또한 확인 여부를 ManipulationDelta 관성 및 사각형 창 가장자리에 접촉 되어 있는지 여부는 동안 이벤트가 발생 합니다. 이러한 경우에 해당할 경우 애플리케이션에서 애플리케이션의 표시 영역을 벗어나지 사각형을 방지 하기 위해 조작을 중지 합니다. 이 예제는에서 더 큰 예제의 일부 연습: 만드는 첫 번째 터치 애플리케이션합니다.
void Window_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
// Get the Rectangle and its RenderTransform matrix.
Rectangle rectToMove = e.OriginalSource as Rectangle;
Matrix rectsMatrix = ((MatrixTransform)rectToMove.RenderTransform).Matrix;
// Rotate the Rectangle.
rectsMatrix.RotateAt(e.DeltaManipulation.Rotation,
e.ManipulationOrigin.X,
e.ManipulationOrigin.Y);
// Resize the Rectangle. Keep it square
// so use only the X value of Scale.
rectsMatrix.ScaleAt(e.DeltaManipulation.Scale.X,
e.DeltaManipulation.Scale.X,
e.ManipulationOrigin.X,
e.ManipulationOrigin.Y);
// Move the Rectangle.
rectsMatrix.Translate(e.DeltaManipulation.Translation.X,
e.DeltaManipulation.Translation.Y);
// Apply the changes to the Rectangle.
rectToMove.RenderTransform = new MatrixTransform(rectsMatrix);
Rect containingRect =
new Rect(((FrameworkElement)e.ManipulationContainer).RenderSize);
Rect shapeBounds =
rectToMove.RenderTransform.TransformBounds(
new Rect(rectToMove.RenderSize));
// Check if the rectangle is completely in the window.
// If it is not and intertia is occuring, stop the manipulation.
if (e.IsInertial && !containingRect.Contains(shapeBounds))
{
e.Complete();
}
e.Handled = true;
}
Private Sub Window_ManipulationDelta(ByVal sender As Object, ByVal e As ManipulationDeltaEventArgs)
' Get the Rectangle and its RenderTransform matrix.
Dim rectToMove As Rectangle = e.OriginalSource
Dim rectTransform As MatrixTransform = rectToMove.RenderTransform
Dim rectsMatrix As Matrix = rectTransform.Matrix
' Rotate the shape
rectsMatrix.RotateAt(e.DeltaManipulation.Rotation,
e.ManipulationOrigin.X,
e.ManipulationOrigin.Y)
' Resize the Rectangle. Keep it square
' so use only the X value of Scale.
rectsMatrix.ScaleAt(e.DeltaManipulation.Scale.X,
e.DeltaManipulation.Scale.X,
e.ManipulationOrigin.X,
e.ManipulationOrigin.Y)
'move the center
rectsMatrix.Translate(e.DeltaManipulation.Translation.X,
e.DeltaManipulation.Translation.Y)
' Apply the changes to the Rectangle.
rectTransform = New MatrixTransform(rectsMatrix)
rectToMove.RenderTransform = rectTransform
Dim container As FrameworkElement = e.ManipulationContainer
Dim containingRect As New Rect(container.RenderSize)
Dim shapeBounds As Rect = rectTransform.TransformBounds(
New Rect(rectToMove.RenderSize))
' Check if the rectangle is completely in the window.
' If it is not and intertia is occuring, stop the manipulation.
If e.IsInertial AndAlso Not containingRect.Contains(shapeBounds) Then
e.Complete()
End If
e.Handled = True
End Sub
설명
ManipulationDeltaEventArgs 클래스 조작의 위치에 대 한 변경 내용에 대 한 데이터를 포함 합니다. 합니다 DeltaManipulation 속성 마지막 이후에 발생 한 변경 내용이 들어 ManipulationDelta 이벤트가 발생 합니다. CumulativeManipulation 속성 현재 조작에 대해 발생 한 총 변경 내용을 포함 합니다. 조작할 수 있는 개체를 변환할 이러한 속성 중 하나를 사용 합니다.
호출 하 여 조작을 종료할 수 있습니다 합니다 Complete 메서드나 조작 호출 하 여 관성에 적용할은 StartInertia 메서드.
속성
CumulativeManipulation |
현재 조작의 누적된 변경 사항을 가져옵니다. |
DeltaManipulation |
현재 조작의 최신 변경 사항을 가져옵니다. |
Device |
이 이벤트를 시작한 입력 디바이스를 가져옵니다. (다음에서 상속됨 InputEventArgs) |
Handled |
경로를 따라 이동할 때 라우트된 이벤트의 현재 이벤트 처리 상태를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 RoutedEventArgs) |
IsInertial |
무활동 중 ManipulationDelta 이벤트가 발생하는지 여부를 나타내는 값을 가져옵니다. |
ManipulationContainer |
조작의 좌표를 정의하는 컨테이너를 가져옵니다. |
ManipulationOrigin |
조작이 발생한 점을 가져옵니다. |
Manipulators |
조작을 위한 터치 접촉을 나타내는 개체의 컬렉션을 가져옵니다. |
OriginalSource |
부모 클래스에 의한 Source 조정 앞에 순수 적중 횟수 테스트에서 결정한 원본 보고 소스를 가져옵니다. (다음에서 상속됨 RoutedEventArgs) |
RoutedEvent |
이 RoutedEventArgs 인스턴스와 연결된 RoutedEvent를 가져오거나 설정합니다. (다음에서 상속됨 RoutedEventArgs) |
Source |
이벤트를 발생시킨 개체에 대한 참조를 가져오거나 설정합니다. (다음에서 상속됨 RoutedEventArgs) |
Timestamp |
이 이벤트가 발생한 시간을 가져옵니다. (다음에서 상속됨 InputEventArgs) |
Velocities |
조작에 대한 최신 변경 사항의 비율을 가져옵니다. |
메서드
Cancel() |
조작을 취소합니다. |
Complete() |
무활동 상태 없이 조작을 완료합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
InvokeEventHandler(Delegate, Object) |
형식별 방식으로 이벤트 처리기를 호출하여 이벤트 시스템의 효율성을 높입니다. (다음에서 상속됨 InputEventArgs) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
OnSetSource(Object) |
파생된 클래스에서 재정의되는 경우 인스턴스의 Source 속성 값이 변경될 때마다 알림 콜백 진입점을 제공합니다. (다음에서 상속됨 RoutedEventArgs) |
ReportBoundaryFeedback(ManipulationDelta) |
특정 경계를 넘어 조작이 수행되었음을 지정합니다. |
StartInertia() |
이후 접촉 이동을 무시하고 ManipulationInertiaStarting 이벤트를 발생시켜 조작에 대한 무활동 상태를 시작합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET