WP7で扇形を作りたいです。楕円クラスでこれを実行しようとすると、ゲージや円グラフなどを作成する多くの解決策が見つかりましたが、必要なのは本質だけです。誰か助けてもらえますか?
目的は、円(または楕円)の一部だけを表示することです。写真の黄色い領域のように:
ありがとう、Laci
Ellipse
を使用せず、少し三角法が必要ですが、これは問題のかなり簡単な解決策です。
_<Path Fill="Black"
Data="M0,0 L0,-100 A100,100 0 0 1 70.7,-70.7 z" />
_
Data
プロパティは パスマークアップ構文 を使用します。
RotationAngle
、IsLargeArc
、およびSweepDirection
(時計回りに1、反時計回りに0))。70.7はどこから来たのですか?さて、この特定の弧は半径100の円から45度の角度を掃引するので、座標70.7、-70.7は100 * sin(45)
と100 * cos(45)
によって決定されます。
あなたはこのようなことをする必要があります:
キャンバスの表示部分(クリップ)を定義します。この部分では、 PathGeometry をクリップとして使用して、表示する円のスライスを定義する必要があります。 (リンクを参照)
<Canvas>
<Canvas.Clip>
<PathGeometry>
// define your path here (see link above)
</PathGeometry>
<Ellipse Background="Yellow" Width="200" Height="200" />
</Canvas.Clip>
</Canvas>
または、 CombinedGeometry を使用してPathGeometry
とEllipseGeometry
を組み合わせてスライスを形成することもできます。 (リンクはCombinedGeometry
の良い例を提供します)