public MainViewModel()
{
Task.Run(() =>
{
while(true)
{
Application.Current.Dispatcher.Invoke(() =>
{
double second = DateTime.Now.Second * 100 / 60;
ProcessValue = CalcProgress(second, 50, 12);
ProcessNumber = second + "%";
});
}
});
}
/// <summary>
/// 计算进度条百分比
/// </summary>
/// <param name="progress">百分比</param>
/// <param name="radius">圆角的度数</param>
/// <param name="thickness">边框厚度</param>
/// <returns></returns>
private DoubleCollection CalcProgress(double progress, double radius, double thickness)
{
var r = radius - thickness / 2;
var perimeter = 2 * Math.PI * r / thickness;
var step = progress / 100 * perimeter;
var result = new DoubleCollection() { step, 1000 };
return result;
}
private DoubleCollection processValue;
/// <summary>
/// 圆形进度条数组
/// </summary>
public DoubleCollection ProcessValue
{
get { return