ManipulationDelta Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Düzenleme olayları gerçekleştiğinde birikmiş dönüştürme verilerini içerir.
public ref class ManipulationDelta
public class ManipulationDelta
type ManipulationDelta = class
Public Class ManipulationDelta
- Devralma
-
ManipulationDelta
Örnekler
Aşağıdaki örnekte olay için bir olay işleyicisi gösterilmektedir ManipulationDelta . Örnek, bir Translationöğesini taşımak, yeniden boyutlandırmak ve Scale döndürmek için , Rotationve özelliklerini uygularRectangle. Bu örnek, İzlenecek Yol: İlk Dokunmatik Uygulamanızı Oluşturma başlığı altında daha büyük bir örneğin parçasıdır.
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
Açıklamalar
sınıfı, ManipulationDelta bir işlemenin konumundaki değişiklikler hakkında bilgi içerir. Windows Presentation Foundation (WPF), değişiklikleri , TranslationExpansionveya Rotationolarak yorumlar. Olay bir ManipulationDeltaüzerinde gerçekleştiğindeUIElement, bir nesnedeki ManipulationDelta özellikleri kullanarak değiştirilecek nesneyi dönüştürün. ManipulationDeltaEventArgs sınıfı türündeki ManipulationDeltaiki özelliği sağlar: DeltaManipulation ve CumulativeManipulation.
İşlemeler hakkında daha fazla bilgi için bkz. Girişe Genel Bakış. İşlemelere yanıt veren bir uygulama örneği için bkz . İzlenecek Yol: İlk Dokunma Uygulamanızı Oluşturma.
Oluşturucular
| Name | Description |
|---|---|
| ManipulationDelta(Vector, Double, Vector, Vector) |
ManipulationDelta sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| Expansion |
Cihazdan bağımsız birimlerde (birim başına 1/96 inç) işlemenin yeniden boyutlandırdığı miktarı alır veya ayarlar. |
| Rotation |
Düzenlemenin döndürmesini derece olarak alır veya ayarlar. |
| Scale |
Düzenlemenin çarpan olarak yeniden boyutlandırdığı miktarı alır veya ayarlar. |
| Translation |
Düzenlemenin doğrusal hareketini alır veya ayarlar. |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |