gpt4 book ai didi

c# - 关于在 WPF 的 Canvas 中四处移动形状

转载 作者:行者123 更新时间:2023-11-30 22:34:31 25 4
gpt4 key购买 nike

我有一个要使用 Canvas.SetLeft(rect, x);

移动的矩形

但我想让它看起来像一个平滑的过渡(动画)。这是应该执行此操作的代码片段:

void animate()
{
for (int a = 0; a < 10; a++)
{
MainWindow.current.Dispatcher.BeginInvoke(new Action(move));
x += 10;
Thread.Sleep(100);
}
}

void move()
{
Canvas.SetLeft(rect, x);
}

这看起来很基础,但我做起来有困难。我想让线程休眠一段时间,然后将矩形的 x 设置为一个新值。但是,线程会休眠 30*10 毫秒,然后矩形立即向右移动 10*10 个单位。我无法获得我想要的动画效果。我知道我已经在 GUI 线程上调用了 Sleep,但我认为这不会影响动画。

最佳答案

而不是强制您的 UI 线程休眠。我建议您使用 WPF 专门为此提供的 Storyboard Animation。如果您也是新手,此链接将帮助您入门 -

http://vbcity.com/blogs/xtab/archive/2009/12/28/wpf-simple-animations-to-move-and-resize-elements-simultaneously.aspx

关于c# - 关于在 WPF 的 Canvas 中四处移动形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7786498/

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