XAMLのみを使用して単色の三角形を描画します


80

XAMLのみを使用して塗りつぶされた三角形を描画することは可能ですか(ソリューションの背後にあるコードではありません)?

三角形はAscending/Descending、チャートコントロールの並べ替えボタンとともに並べ替え方向を表すために、下の画像のようになっている必要があります。

ここに画像の説明を入力してください

編集:SpeziFishのおかげで解決策:

上昇:

<Polygon Points="0,0 8,5, 0,10" Stroke="Black" Fill="Black" />

降順:

<Polygon Points="8,0 0,5, 8,10" Stroke="Black" Fill="Black" />

1
長方形で三角形を描く?Path代わりに調べることができます。基本的な例については、こちらご覧ください。
erikH 2011年

@erikH:申し訳ありませんが、主な要件はXAMLのみです
sll 2011年

なぜ質問が下がったのか聞いてもいいですか?
sll 2011年

回答:


104
<Polygon Points="0,0 80,50, 0,100" Stroke="Black" Fill="Black" />

APIまたは例を参照してください。


申し訳ありませんが、主な要件はXAMLのみであるため、Polygonは問題ありません。10倍小さくするにはどうすればいいですか?
sll 2011年

1
数を10で割ります。数字は簡単に角のピクセル座標(x、y)です。
SpeziFish 2011年

どのように配置して回転させますか?つまり、バインディングに基づいて、円の周り(その円の外側)に配置される三角形を描画したいということです。何か案は?
John Demetriou

スケーリングの場合は、「Stretch = Fill」を追加して、親コンテナに合わせてスケーリングされます(例:Button.Content ..)。わかりました。@ LongZhengの回答で見つけました:)
dba

35

これらをコレクションに追加したいと思います。

ここに画像の説明を入力してください

    <Polygon Points="5,0 10,10, 0,10" Stroke="Black" Fill="Black" />

ここに画像の説明を入力してください

    <Polygon Points="0,0 5,10, 10,0" Stroke="Black" Fill="Black" />

25

パスの使用

<Path Width="33" Height="37" Stretch="Fill" Stroke="Black" Fill="Black" Data="F1 M 319.344,237.333L 287.328,218.849L 287.328,255.818L 319.344,237.333 Z "/>
<Path Width="33" Height="37" Stretch="Fill" Stroke="Black" Fill="Black" Data="F1 M 287.328,237.333L 319.344,255.818L 319.344,218.849L 287.328,237.333 Z "/>

どのように配置して回転させますか?つまり、バインディングに基づいて、円の周り(その円の外側)に配置される三角形を描画したいということです。何か案は?
John Demetriou

LayoutTransformが役に立ちます。あなたはできるだけ頻繁にあなたが必要とする、それを置くことができるので、多分最高のショットは、「方向」依存関係プロパティでユーザーコントロールを作成することです/ O XAMLを書き換えるワット
DBA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.