繁体   English   中英

WPF:如何画圆?

[英]WPF: How to draw a circle?

我有以下代码:

using Microsoft.Expression.Shapes;

Arc a = new Arc();
a.ArcThicknessUnit = Microsoft.Expression.Media.UnitType.Pixel;
a.ArcThickness = 10;
a.StrokeThickness = 1;
a.Fill = new SolidColorBrush(Colors.Aqua);
a.Stroke = new SolidColorBrush(Colors.DarkMagenta);
a.StartAngle = 0;
a.EndAngle = 360;
a.Width = 200;
a.Height = 200;
a.Stretch = Stretch.None;
_myStackPanel.Children.Add(a);

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(1);
dt.Tick += (s, e) => { a.StartAngle = a.StartAngle + 4; };
dt.Start();

当它被执行时,我得到一个“可擦除圆圈”。 我需要得到相反的效果。 С 圆绘图效果。 如何更改代码以获得“绘制的圆圈”? 圆形绘图示例

更改EndAngle而不是StartAngle

using Microsoft.Expression.Shapes;

Arc a = new Arc();
a.ArcThicknessUnit = Microsoft.Expression.Media.UnitType.Pixel;
a.ArcThickness = 10;
a.StrokeThickness = 1;
a.Fill = new SolidColorBrush(Colors.Aqua);
a.Stroke = new SolidColorBrush(Colors.DarkMagenta);
a.StartAngle = 0;
a.EndAngle = 0;//Start as 0
a.Width = 200;
a.Height = 200;
a.Stretch = Stretch.None;
_myStackPanel.Children.Add(a);

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(1);
dt.Tick += (s, e) => { a.EndAngle = a.EndAngle + 4; };//update EndAngle
dt.Start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM