ManipulationStartingRoutedEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für das ManipulationStarting-Ereignis bereit.
public ref class ManipulationStartingRoutedEventArgs sealed : RoutedEventArgs
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ManipulationStartingRoutedEventArgs final : RoutedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ManipulationStartingRoutedEventArgs final : RoutedEventArgs
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ManipulationStartingRoutedEventArgs : RoutedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ManipulationStartingRoutedEventArgs : RoutedEventArgs
Public NotInheritable Class ManipulationStartingRoutedEventArgs
Inherits RoutedEventArgs
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
Das folgende Codebeispiel zeigt Szenario 4 aus dem Eingabebeispiel. Dieser Code zeigt einige Verwendungsmuster für die direkte Bearbeitung mithilfe der Ereignisse ManipulationStarting, ManipulationStarted, ManipulationDelta, ManipulationInertiaStarting und ManipulationCompleted .
private TransformGroup _transformGroup;
private MatrixTransform _previousTransform;
private CompositeTransform _compositeTransform;
private bool forceManipulationsToEnd;
public Scenario4()
{
this.InitializeComponent();
forceManipulationsToEnd = false;
ManipulateMe.ManipulationStarting +=
new ManipulationStartingEventHandler(
ManipulateMe_ManipulationStarting);
ManipulateMe.ManipulationStarted +=
new ManipulationStartedEventHandler(
ManipulateMe_ManipulationStarted);
ManipulateMe.ManipulationDelta +=
new ManipulationDeltaEventHandler(
ManipulateMe_ManipulationDelta);
ManipulateMe.ManipulationCompleted +=
new ManipulationCompletedEventHandler(
ManipulateMe_ManipulationCompleted);
ManipulateMe.ManipulationInertiaStarting +=
new ManipulationInertiaStartingEventHandler(
ManipulateMe_ManipulationInertiaStarting);
InitManipulationTransforms();
}
private void InitManipulationTransforms()
{
_transformGroup = new TransformGroup();
_compositeTransform = new CompositeTransform();
_previousTransform = new MatrixTransform() {
Matrix = Matrix.Identity };
_transformGroup.Children.Add(_previousTransform);
_transformGroup.Children.Add(_compositeTransform);
ManipulateMe.RenderTransform = _transformGroup;
}
private void ManipulateMe_ManipulationStarting(object sender,
ManipulationStartingRoutedEventArgs e)
{
forceManipulationsToEnd = false;
e.Handled = true;
}
private void ManipulateMe_ManipulationStarted(
object sender, ManipulationStartedRoutedEventArgs e)
{
e.Handled = true;
}
private void ManipulateMe_ManipulationInertiaStarting(
object sender, ManipulationInertiaStartingRoutedEventArgs e)
{
e.Handled = true;
}
private void ManipulateMe_ManipulationDelta(
object sender, ManipulationDeltaRoutedEventArgs e)
{
if (forceManipulationsToEnd)
{
e.Complete();
return;
}
_previousTransform.Matrix = _transformGroup.Value;
Point center = _previousTransform.TransformPoint(
new Point(e.Position.X, e.Position.Y));
_compositeTransform.CenterX = center.X;
_compositeTransform.CenterY = center.Y;
_compositeTransform.Rotation = (e.Delta.Rotation * 180) / Math.PI;
_compositeTransform.ScaleX =
_compositeTransform.ScaleY = e.Delta.Scale;
_compositeTransform.TranslateX = e.Delta.Translation.X;
_compositeTransform.TranslateY = e.Delta.Translation.Y;
e.Handled = true;
}
private void ManipulateMe_ManipulationCompleted(object sender,
ManipulationCompletedRoutedEventArgs e)
{
e.Handled = true;
}
private void Scenario4Reset(object sender, RoutedEventArgs e)
{
Scenario4Reset();
}
void Scenario4Reset()
{
forceManipulationsToEnd = true;
ManipulateMe.RenderTransform = null;
InitManipulationTransforms();
}
Private _transformGroup As TransformGroup
Private _previousTransform As MatrixTransform
Private _compositeTransform As CompositeTransform
Private forceManipulationsToEnd As Boolean
Public Sub New()
Me.InitializeComponent()
forceManipulationsToEnd = False
AddHandler ManipulateMe.ManipulationStarting, AddressOf ManipulateMe_ManipulationStarting
AddHandler ManipulateMe.ManipulationStarted, AddressOf ManipulateMe_ManipulationStarted
AddHandler ManipulateMe.ManipulationDelta, AddressOf ManipulateMe_ManipulationDelta
AddHandler ManipulateMe.ManipulationCompleted, AddressOf ManipulateMe_ManipulationCompleted
InitManipulationTransforms()
End Sub
''' <summary>
''' Invoked when this page is about to be displayed in a Frame.
''' </summary>
''' <param name="e">Event data that describes how this page was reached. The Parameter
''' property is typically used to configure the page.</param>
Protected Overrides Sub OnNavigatedTo(e As NavigationEventArgs)
End Sub
Private Sub InitManipulationTransforms()
_transformGroup = New TransformGroup()
_compositeTransform = New CompositeTransform()
_previousTransform = New MatrixTransform() With { _
.Matrix = Matrix.Identity _
}
_transformGroup.Children.Add(_previousTransform)
_transformGroup.Children.Add(_compositeTransform)
ManipulateMe.RenderTransform = _transformGroup
End Sub
Private Sub ManipulateMe_ManipulationStarting(sender As Object, e As ManipulationStartingRoutedEventArgs)
forceManipulationsToEnd = False
e.Handled = True
End Sub
Private Sub ManipulateMe_ManipulationStarted(sender As Object, e As ManipulationStartedRoutedEventArgs)
e.Handled = True
End Sub
Private Sub ManipulateMe_ManipulationDelta(sender As Object, e As ManipulationDeltaRoutedEventArgs)
If forceManipulationsToEnd Then
e.Complete()
Exit Sub
End If
_previousTransform.Matrix = _transformGroup.Value
Dim center As Point = _previousTransform.TransformPoint(New Point(e.Position.X, e.Position.Y))
_compositeTransform.CenterX = center.X
_compositeTransform.CenterY = center.Y
_compositeTransform.Rotation = (e.Delta.Rotation * 180) / Math.PI
_compositeTransform.ScaleX = InlineAssignHelper(_compositeTransform.ScaleY, e.Delta.Scale)
_compositeTransform.TranslateX = e.Delta.Translation.X
_compositeTransform.TranslateY = e.Delta.Translation.Y
e.Handled = True
End Sub
Private Sub ManipulateMe_ManipulationCompleted(sender As Object, e As ManipulationCompletedRoutedEventArgs)
e.Handled = True
End Sub
Private Sub Scenario4ResetMethod(sender As Object, e As RoutedEventArgs)
Reset()
End Sub
Private Sub Reset()
forceManipulationsToEnd = True
ManipulateMe.RenderTransform = Nothing
InitManipulationTransforms()
End Sub
Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, value As T) As T
target = value
Return value
End Function
Konstruktoren
ManipulationStartingRoutedEventArgs() |
Initialisiert eine neue instance der ManipulationStartingRoutedEventArgs-Klasse. |
Eigenschaften
Container |
Ruft das UIElement ab , das als Container der Bearbeitung gilt. |
Handled |
Ruft einen Wert ab, der das Routingereignis als behandelt kennzeichnet, oder legt diesen fest. Die Einstellung auf true verhindert, dass die meisten Handler entlang der Ereignisroute dasselbe Ereignis erneut behandeln. |
Mode |
Ruft ab oder legt fest, welche Typen von Manipulationen möglich sind. |
OriginalSource |
Ruft einen Verweis auf das -Objekt ab, das das Ereignis ausgelöst hat. Dies ist häufig ein Vorlagenteil eines Steuerelements und nicht ein Element, das in Ihrer App-Benutzeroberfläche deklariert wurde. (Geerbt von RoutedEventArgs) |
Pivot |
Ruft ein Objekt ab, das das Pivot für eine Einpunktmanipulation beschreibt, oder legt es fest. |
Gilt für:
Weitere Informationen
- <xref:Windows.UI.Xaml.RoutedEventArgs%0andows.ui.xaml%2froutedeventargs.md)>