tmytのらくがき

個人の日記レベルです

UWPで円形のプログレスバー的なのを使いたい

どーしてもプログレスバーを円形にしたくてインターネットしてたら中国語の文献を見つけたのでちょっとだけ紹介。

这段XAML中设置的StrokeDashArray="61.89,1000"可能很让人摸不着头脑。 Win10 UWP开发中的重复性静态UI绘制小技巧 1 - MS-UAP - 博客园

ぶっちゃけ中国語なんて1割未満くらいしかわかんないんですが、StrokeDashArrayをうまーく使ってあげることでプログレスバー的な表現ができますよー。という感じ。

詳しくは元のページを見ていただければいいかと思いますが、XAMLはまぁ読めるとして、それ以外で中国語の本文から拾わないといけないどうやってプログレスバー的に表現するか。のところですが、(ActualWidth - StrokeThickness) * Math.PI / StrokeThickness * 割合 という式で求まるそうです。

Shapeの線分がどうやって分割されているか。などを考慮するとこの式でいいよー。と書いてありました。