0

我想要一个图像的旋转,但我不想在代码隐藏中而是在视图模型中对事件进行编码。现在一切正常,但代码在 CodeBehind 中......(它基于教程)

我试过了

XAML:

 [...]
 ManipulationDelta="{Binding RotateManipulationDelta}"
 [...]
 <RotateTransform x:Name="{Binding RotateTransform}" />

视图模型:

private void RotateManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
    {
        // Alternatively, use Triangle Cosines Law.
        // It uses just one trigonometric function (Acos), but you first need to calculate the lengths of all sides.

        var x = this.RotateTransform.CenterX - e.Position.X;
        var y = this.RotateTransform.CenterY - e.Position.Y;

        double a1 = Math.Atan(y / x);
        double a2 = Math.Atan((e.Delta.Translation.Y - y) / (x - e.Delta.Translation.X));

        this.RotateTransform.Angle += a1 - a2;
    }

但 C# 显然不知道“RotateTransform”或方法本身。有没有可能这样做?我没有任何线索。请尽量简单地解释它。我刚开始使用 Windows 应用程序和 XAML。:D

我希望你能帮助我。

4

1 回答 1

0

您可能希望查看类似Storyboarded animations for visual states或此XAML 动画之类的内容。

我不明白你为什么要做这样的事情......你能给我们更多信息吗?在 C# 中比在 XAML 中更容易做到这一点。后面代码的重点是做这些事情。

于 2013-07-10T14:01:33.973 回答