C#如何快速更改边框的宽度?

时间:2019-06-29 16:14:20

标签: c# wpf

我想制作动画幻灯片。 我想通过增加边框宽度来做到这一点。 为了可视化,我在椭圆的后面有一个边框,要使其滑入,我想像代码中所示快速增加其宽度。

Route::get('reel/{id}', [
    'middleware' => 'cors', function () {
        $query = \App\Reel::where('id', $id);

        return $query->get();
    }
]);

问题在于无论我将线程停止70ms还是1000ms,它都不会增加边框的宽度,直到整个过程完成为止。

2 个答案:

答案 0 :(得分:0)

您的代码中的问题是您正在使用该thread.sleep阻塞UI线程,因此在停止阻止它之前它无法做任何事情。

您可以使您的父方法异步并使用:

await.Task.Delay(70);

代替睡眠。

但是您应该真正研究动画。

WPF Animation of border width

答案 1 :(得分:0)

您的代码是同步的。您应该使用异步代码。如果您使用的是.net framework 4.0,请像Task.Factory.StartNew()。如果.net framework高于.net framework 4.0,则可以使用async / await关键字。