2012-04-20 79 views

回答

0

你将不得不在两个相同的点之间画两条线,上下两边用较粗的笔,上边用较薄的笔。

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); 
    } 
} 

扩展方法,你可以做图中的一个呼叫:

drawingContext.DrawLine(background, foreground, new Point(100, 100), new Point(200, 200)); 
+0

Thanks this shoudl wo rk :) – 2012-04-20 17:04:54