この質問に見られるように、WPF で同様の種類の線をたくさん描画しようとしていますが、違いは DrawingVisual オブジェクトの DrawingContext で描画する必要があることです。どうすればそれができますか?
質問する
5082 次
1 に答える
0
上下の同じ点の間に 2 本の線を引く必要があります。下の線は太いペン、上の線は細いペンです。
Pen background = new Pen(Brushes.Black, 5);
Pen foreground = new Pen(Brushes.White, 3);
drawingContext.DrawLine(background, new Point(100, 100), new Point(200, 200));
drawingContext.DrawLine(foreground, new Point(100, 100), new Point(200, 200));
この線は、ペンの線のキャップも定義すると見栄えがよくなります。
Pen background = new Pen
{
Brush = Brushes.Black,
Thickness = 5,
StartLineCap = PenLineCap.Round,
EndLineCap = PenLineCap.Round
};
Pen foreground = new Pen
{
Brush = Brushes.White,
Thickness = 3,
StartLineCap = PenLineCap.Round,
EndLineCap = PenLineCap.Round
};
このような拡張メソッドで
public static class DrawingContextExtensions
{
public static void DrawLine(this DrawingContext drawingContext,
Pen background, Pen foreground, Point start, Point end)
{
drawingContext.DrawLine(background, start, end);
drawingContext.DrawLine(foreground, start, end);
}
}
1 回の呼び出しで描画を行うことができます。
drawingContext.DrawLine(background, foreground, new Point(100, 100), new Point(200, 200));
于 2012-04-20T16:52:42.177 に答える