ManipulationDeltaEventArgs 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.
ManipulationDelta olayı için veriler sağlar.
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
- Devralma
Örnekler
Aşağıdaki örnekte olay için bir olay işleyicisi gösterilmektedir ManipulationDelta . Örnek, bir Rectangleöğesini DeltaManipulation taşımak, yeniden boyutlandırmak ve döndürmek için özelliğini kullanır. Örnek ayrıca olayın eylemsizlik sırasında oluşup oluşmadığını ManipulationDelta ve dikdörtgenin bir pencerenin kenarına dokunup dokunmadığını denetler. Bu durumlar doğruysa, uygulama dikdörtgenin uygulamanın görünür alanından ayrılmasını önlemek için işlemeyi durdurur. Bu örnek, İzlenecek Yol: İlk Dokunmatik Uygulamanızı Oluşturma makalesindeki 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ı, ManipulationDeltaEventArgs bir işleme konumundaki değişikliklerle ilgili verileri içerir. özelliği, DeltaManipulation son ManipulationDelta olay gerçekleştikten sonra gerçekleşen değişiklikleri içerir. özelliği, CumulativeManipulation geçerli düzenleme için gerçekleşen toplam değişiklikleri içerir. Bu özelliklerden birini, değiştirilmiş nesneyi dönüştürmek için kullanırsınız.
Yöntemini çağırarak bir işlemeyi Complete sonlandırabilir veya yöntemini çağırarak StartInertia işlemeyi eylemsizliğe zorlayabilirsiniz.
Özellikler
CumulativeManipulation |
Geçerli işlemenin birikilmiş değişikliklerini alır. |
DeltaManipulation |
Geçerli işlemenin en son değişikliklerini alır. |
Device |
Bu olayı başlatan giriş cihazını alır. (Devralındığı yer: InputEventArgs) |
Handled |
Yolu ilerlerken yönlendirilen bir olay için olay işlemenin mevcut durumunu gösteren bir değer alır veya ayarlar. (Devralındığı yer: RoutedEventArgs) |
IsInertial |
Olayın eylemsizlik sırasında oluşup oluşmadığını ManipulationDelta gösteren bir değer alır. |
ManipulationContainer |
İşleme için koordinatları tanımlayan kapsayıcıyı alır. |
ManipulationOrigin |
Düzenlemenin kaynaklandığı noktayı alır. |
Manipulators |
İşleme için dokunmatik kişileri temsil eden bir nesne koleksiyonu alır. |
OriginalSource |
Bir üst sınıf tarafından herhangi bir olası Source ayarlamadan önce, saf isabet testi tarafından belirlenen özgün raporlama kaynağını alır. (Devralındığı yer: RoutedEventArgs) |
RoutedEvent |
Bu RoutedEventArgs örnekle ilişkili öğesini RoutedEvent alır veya ayarlar. (Devralındığı yer: RoutedEventArgs) |
Source |
Olayı oluşturan nesneye bir başvuru alır veya ayarlar. (Devralındığı yer: RoutedEventArgs) |
Timestamp |
Bu olayın gerçekleştiği zamanı alır. (Devralındığı yer: InputEventArgs) |
Velocities |
Düzenlemede yapılan en son değişikliklerin oranlarını alır. |
Yöntemler
Cancel() |
Düzenlemeyi iptal eder. |
Complete() |
Eylemsizlik olmadan işlemeyi tamamlar. |
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() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
InvokeEventHandler(Delegate, Object) |
Olay işleyicilerini türe özgü bir şekilde çağırır ve bu da olay sistemi verimliliğini artırabilir. (Devralındığı yer: InputEventArgs) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnSetSource(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bir örneğin özelliğinin Source değeri her değiştiğinde bir bildirim geri çağırma giriş noktası sağlar. (Devralındığı yer: RoutedEventArgs) |
ReportBoundaryFeedback(ManipulationDelta) |
Düzenlemenin belirli sınırların ötesine geçtiğini belirtir. |
StartInertia() |
Sonraki temas hareketlerini yoksayarak ve olayı yükselterek işlemede ManipulationInertiaStarting eylemsizlik başlatır. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |