WPF:ポリラインにオフセットを設定する方法
質問
同じジオメトリを持つ3つのポリリンがあります。
それらの2つにオフセットを設定したいので、それらが隣同士に表示されるようにします。
どうやってやるの?
ありがとう。
解決
それはあなたが使用しているコンテナによって異なります。グリッド(列やコロンがない)またはキャンバスを使用する場合、それらは互いに直接上にあります。マージン(グリッド)または左/トップ(キャンバス)によってそれらを区別できます。
または、Stackpanelのような別のパネルを使用して、それらを自動的に隣り合わせて配置します。
編集:コメントでは、LinearGradientBrushを使用して、次のような単一のジオメトリを色付けするというアイデアを開発しました。
<Polyline StrokeThickness="20" Points="30,250 200,250">
<Polyline.Stroke>
<LinearGradientBrush StartPoint="30,200" EndPoint="30,250" MappingMode="Absolute">
<GradientStop Color="Red" Offset="1" />
<GradientStop Color="Red" Offset="0.66" />
<GradientStop Color="Yellow" Offset="0.66" />
<GradientStop Color="Yellow" Offset="0.33" />
<GradientStop Color="Green" Offset="0.33" />
<GradientStop Color="Green" Offset="0" />
</LinearGradientBrush>
</Polyline.Stroke>
他のヒント
私はあなたの正確なニーズを理解していたと思います:あなたはロードマップのようにポリリンを描きたいと思います。複数の線が同じパスをたどりますが、常に同じ距離を保持します。
これははるかに複雑な問題です。キージョンソンによる優れた記事があり、そこで彼は幾何学的な視覚ブラシを作成します。 積み重ねられたジオメトリブラシファクトリー.
彼がなんとかしていることの例:
ポリリンが設定されている容器で説明する必要があります。一般に、RenderTransformを使用します。
所属していません StackOverflow