Плавное масштабирование и панорамирование на Windows Phone 8

Мне удалось реализовать масштабирование и панорамирование с помощью пинча, подключив события ManipulationDelta и ManipulationStarted (для элемента управления изображением):

    private void image_OnManipulationDelta(object sender, ManipulationDeltaEventArgs e)
    {
        var transform = (CompositeTransform)image.RenderTransform;

        // pan
        transform.TranslateX = _translationX + e.CumulativeManipulation.Translation.X;
        transform.TranslateY = _translationY + e.CumulativeManipulation.Translation.Y;

        // zoom
        if (e.PinchManipulation != null)
        {
            transform.CenterX = e.PinchManipulation.Original.Center.X;
            transform.CenterY = e.PinchManipulation.Original.Center.Y;

            transform.ScaleX = _scaleX * e.PinchManipulation.CumulativeScale;
            transform.ScaleY = _scaleY * e.PinchManipulation.CumulativeScale;
        }
    }

    private void image_OnManipulationStarted(object sender, ManipulationStartedEventArgs e)
    {
        // the user has started manipulating the screen, set starting points
        var transform = (CompositeTransform)image.RenderTransform;
        _scaleX = transform.ScaleX;
        _scaleY = transform.ScaleY;
        _translationX = transform.TranslateX;
        _translationY = transform.TranslateY;
    }

Но по сравнению с гладкостью остального интерфейса Windows Phone он выглядит очень спокойным и жестким. В движении нет инерции.

Есть ли способ сделать движения более плавными? Является ли использование анимации и раскадровки способом? Я пытался использовать ScrollView, по крайней мере, для получения плавного панорамирования, но тогда события ManipulationDelta не запускаются правильно.

Ответы на вопрос(3)

Ваш ответ на вопрос