最笨重的方法是直接在一白色Ellipse的基础盖上一个同心的红色弧形Path:
更新可以通过Binding处理,你需要自己实现一个IValueConverter,用于处理进度值与ArcSegment中Point数据间的转换,并将此类作为参数提供给Binding的Converter属性。最轻但是需要写最多C#代码的方法是采用DrawingVisual类。如果采用这种方法,你需要自定义继承自FrameworkElement的一个新class,并通过该类提供的等方法来管理并使用DrawingVIsual类绘制相关的图形。