Freigeben über


ManipulationInertiaStartingRoutedEventArgs Klasse

Definition

Stellt Daten für das ManipulationInertiaStarting-Ereignis bereit.

public ref class ManipulationInertiaStartingRoutedEventArgs sealed : RoutedEventArgs
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ManipulationInertiaStartingRoutedEventArgs final : RoutedEventArgs
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ManipulationInertiaStartingRoutedEventArgs : RoutedEventArgs
Public NotInheritable Class ManipulationInertiaStartingRoutedEventArgs
Inherits RoutedEventArgs
Vererbung
Object Platform::Object IInspectable RoutedEventArgs ManipulationInertiaStartingRoutedEventArgs
Attribute

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();
}

Konstruktoren

ManipulationInertiaStartingRoutedEventArgs()

Initialisiert eine neue instance der ManipulationInertiaStartingRoutedEventArgs-Klasse.

Eigenschaften

Container

Ruft das UIElement ab , das als Container der Bearbeitung gilt.

Cumulative

Ruft die allgemeinen Änderungen ab, die seit Beginn der Bearbeitung vorgenommen wurden.

Delta

Ruft die neuesten Änderungen der aktuellen Bearbeitung als ManipulationDelta ab.

ExpansionBehavior

Ruft die Rate der Verlangsamung der Erweiterungsträgheitsbewegung fest.

Handled

Ruft einen Wert ab, der das Routingereignis als behandelt kennzeichnet, oder legt diesen fest. Ein true Wert für Handled verhindert, dass die meisten Handler entlang der Ereignisroute dasselbe Ereignis erneut behandeln.

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)
PointerDeviceType

Ruft den PointerDeviceType für das Zeigergerät ab, das an der Bearbeitung beteiligt ist.

RotationBehavior

Ruft Informationen zu den Rotationsinformationen ab, die der Bearbeitung für dieses Ereignisereignis zugeordnet sind.

TranslationBehavior

Ruft Informationen zu den Übersetzungsinformationen ab, die der Bearbeitung für dieses Ereignisereignis zugeordnet sind.

Velocities

Ruft die Raten der letzten Änderungen an der Bearbeitung ab.

Gilt für:

Weitere Informationen

  • <xref:Microsoft.UI.Xaml.RoutedEventArgs%0andows.ui.xaml%2froutedeventargs.md)>