ManipulationDelta ManipulationDelta ManipulationDelta ManipulationDelta Class

定義

操作イベントが発生するときに蓄積される変換データを格納します。Contains transformation data that is accumulated when manipulation events occur.

public ref class ManipulationDelta
public class ManipulationDelta
type ManipulationDelta = class
Public Class ManipulationDelta
継承
ManipulationDeltaManipulationDeltaManipulationDeltaManipulationDelta

次の例は、 ManipulationDeltaイベントのイベントハンドラーを示しています。The following example shows an event handler for the ManipulationDelta event. この例ではTranslationScale、、 Rotationおよびの各プロパティを適用して、 Rectangleの移動、サイズ変更、および回転を行います。The example applies the Translation, Scale, and Rotation properties to move, resize, and rotate a Rectangle. この例は、 「チュートリアル:初めてのタッチアプリケーションの作成。This example is part of a larger example in Walkthrough: Creating Your First Touch Application.

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

注釈

クラスManipulationDeltaには、操作の位置の変更に関する情報が含まれています。The ManipulationDelta class contains information about the changes in the position of a manipulation. Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)Translationでは、変更が、 Expansion、またRotationはとして解釈されます。interprets the changes as a Translation, Expansion, or Rotation. でイベントが発生した場合はManipulationDelta 、オブジェクトのプロパティを使用して、操作する必要があるオブジェクトを変換します。UIElement ManipulationDeltaWhen the ManipulationDelta event occurs on a UIElement, use the properties on a ManipulationDelta object to transform the object that should be manipulated. クラスManipulationDeltaEventArgsには、DeltaManipulation型とManipulationDelta CumulativeManipulation型の2つのプロパティが用意されています。The ManipulationDeltaEventArgs class provides two properties of type ManipulationDelta: DeltaManipulation and CumulativeManipulation.

操作の詳細については、「入力の概要」を参照してください。For more information about manipulations, see the Input Overview. 操作に応答するアプリケーションの例については、 「チュートリアル:初めてのタッチアプリケーションの作成。For an example of an application that responds to manipulations, see Walkthrough: Creating Your First Touch Application.

コンストラクター

ManipulationDelta(Vector, Double, Vector, Vector) ManipulationDelta(Vector, Double, Vector, Vector) ManipulationDelta(Vector, Double, Vector, Vector) ManipulationDelta(Vector, Double, Vector, Vector)

ManipulationDelta クラスの新しいインスタンスを初期化します。Initializes a new instance of the ManipulationDelta class.

プロパティ

Expansion Expansion Expansion Expansion

操作によるサイズ変更量 (デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit)) を取得または設定します。Gets or sets the amount the manipulation has resized in デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit).

Rotation Rotation Rotation Rotation

操作の回転 (度単位) を取得または設定します。Gets or sets the rotation of the manipulation in degrees.

Scale Scale Scale Scale

乗数としての操作によるサイズ変更量を取得または設定します。Gets or sets the amount the manipulation has resized as a multiplier.

Translation Translation Translation Translation

操作の直線的な動きを取得または設定します。Gets or sets the linear motion of the manipulation.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象