gpt4 book ai didi

c# - WindowsPhone7 : How to animate position of UIElement with code?

转载 作者:行者123 更新时间:2023-11-30 16:26:49 24 4
gpt4 key购买 nike

看来应该这么简单。我已经阅读了数十个链接,但无法获得任何动画位置。我相信到目前为止我能写的最接近的代码是这样的:

 Storyboard storyboard = new Storyboard();
TranslateTransform trans = new TranslateTransform() { X = 1.0, Y = 1.0 };
myCheckbox.RenderTransformOrigin = new Point(0.5, 0.5);
myCheckbox.RenderTransform = trans;

DoubleAnimation moveAnim = new DoubleAnimation();
moveAnim.Duration = TimeSpan.FromMilliseconds(1200);
moveAnim.From = -1;
moveAnim.To = 1;
Storyboard.SetTarget(moveAnim, myCheckbox);
Storyboard.SetTargetProperty(moveAnim, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
storyboard.Completed += new System.EventHandler(storyboard_Completed);
storyboard.Children.Add(moveAnim);
storyboard.Begin();

不会抛出任何错误。完成回调确实被调用。如果我以类似的方式为不透明度设置动画,它就可以正常工作。

如何使用代码简单地为 UIElement 的位置设置动画?

最佳答案

xyzzer 的评论是正确的。混淆的原因是因为 RenderTransformOrigin 的坐标使用相对于元素的 (0,1)。实际转换(例如 TranslateTransform)使用像素作为单位。

关于c# - WindowsPhone7 : How to animate position of UIElement with code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com