1

I have followed the instruction on msdn about GestureRecognizer! for handling pinch guesture. However, I can't get the ManipulationUpdated called. Is there anything I'm missing?

In my C# class,

    `private GestureRecognizer gesture = new GestureRecognizer();`

In my constructor:

    gesture.GestureSettings = GestureSettings.ManipulationScale;
    gesture.ManipulationUpdated += gesture_ManipulationUpdated;
    gesture.ManipulationStarted += gesture_ManipulationStarted;
    gesture.ManipulationCompleted += gesture_ManipulationCompleted;

In my pointer events:

 private void PointerPressed_1(object sender, PointerRoutedEventArgs e)
{
   var point = e.GetIntermediatePoints(null);
   gesture.ProcessDownEvent(point[0]);
}

private void PointerMoved_1(object sender, PointerRoutedEventArgs e)
{
   gesture.ProcessMoveEvents(e.GetIntermediatePoints(null));
}

private void PointerReleased_1(object sender, PointerRoutedEventArgs e)
{
    var point = e.GetIntermediatePoints(null);
    gesture.ProcessUpEvent(point[0]);
    gesture.CompleteGesture();
}

void gesture_ManipulationCompleted(GestureRecognizer sender, ManipulationCompletedEventArgs args)
    {
        System.Diagnostics.Debug.WriteLine("Manipulation Completed {0}", args.Cumulative.Scale);
    }

void gesture_ManipulationStarted(GestureRecognizer sender, ManipulationStartedEventArgs args)
    {
        System.Diagnostics.Debug.WriteLine("Manipulation Started {0}", args.Cumulative.Scale);
    }

void gesture_ManipulationUpdated(GestureRecognizer sender, ManipulationUpdatedEventArgs args)
    {
        System.Diagnostics.Debug.WriteLine("Manipulation Updated {0}", args.Cumulative.Scale);
    }
4

1 回答 1

0

尝试打开手势设置属性中的所有标志。如您的链接中所述:

gesture.gestureSettings =
        Windows.UI.Input.GestureSettings.manipulationRotate |
        Windows.UI.Input.GestureSettings.manipulationTranslateX |
        Windows.UI.Input.GestureSettings.manipulationTranslateY |
        Windows.UI.Input.GestureSettings.manipulationScale |
        Windows.UI.Input.GestureSettings.manipulationRotateInertia |
        Windows.UI.Input.GestureSettings.manipulationScaleInertia |
        Windows.UI.Input.GestureSettings.manipulationTranslateInertia |
        Windows.UI.Input.GestureSettings.tap;
于 2012-12-22T10:51:58.150 回答