我想要一个图像的旋转,但我不想在代码隐藏中而是在视图模型中对事件进行编码。现在一切正常,但代码在 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
我希望你能帮助我。