Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#(WPF)中创建加载弧_C#_Wpf_Kinect - Fatal编程技术网

在C#(WPF)中创建加载弧

在C#(WPF)中创建加载弧,c#,wpf,kinect,C#,Wpf,Kinect,我正在开发一款使用悬停按钮的Kinect应用程序,当用户将鼠标悬停在按钮上时,会出现一个加载圆圈并填充。我当前的实现是纯C语言,并绘制到画布上 圆弧的创建方式如下: this.loadArc = new Arc(); this.loadArc.StartAngle = 0; this.loadArc.Width = 150; this.loadArc.Height = 150; this.loadArc.ArcThickness = 5; this.loadArc.ClipToBounds =

我正在开发一款使用悬停按钮的Kinect应用程序,当用户将鼠标悬停在按钮上时,会出现一个加载圆圈并填充。我当前的实现是纯C语言,并绘制到画布上

圆弧的创建方式如下:

this.loadArc = new Arc();
this.loadArc.StartAngle = 0;
this.loadArc.Width = 150;
this.loadArc.Height = 150;
this.loadArc.ArcThickness = 5;
this.loadArc.ClipToBounds = true;
this.loadArc.Fill = new SolidColorBrush(Colors.White);
canvas.Children.Add(this.loadArc);
然后计时器启动,弧线填充如下:

this.loadArc.EndAngle += x; 
其中x是由经过的时间和悬停所需的总时间确定的角度

这很好,但看起来弧线试图填充可用空间,形状有点跳跃。我希望这会显示弧慢慢填充以创建一个圆。我有没有遗漏一些琐碎的东西?或者,更好的是,有没有更有效的方法来实现这一点(除了gif或类似文件)


提前谢谢

可以使用wpf动画。它们需要时间来完成,并且在完成时会有事件发生(请参阅)。谢谢,之所以在C#中完成,是因为角度会根据按钮而变化。我用故事板做叠加。但是,问题仍然与故事板中角度的变化相同。一旦角度超过180度,它看起来很好,但是较小的角度都很不舒服。我用代码创建了一个故事板,加上降低帧率,效果很好,但是对于较小的角度,填充角度看起来仍然很奇怪。