我正在使用WPF DrawingVisual和Pen并遇到问题。
当我用Pen绘制DrawingVisual时,比如说,一个矩形如下:
Pen StrokePen = new Pen();
StrokePen.Brush = Brushes.SkyBlue;
StrokePen.Thickness = 6;
DrawingVisual dv = new DrawingVisual
DrawingContext dc = dv.RenderOpen();
dc.DrawingRectangle(......., StrokePen, ......);
dc.Close();
我发现中风的一半覆盖了矩形,如下所示:
因此,如果笔的粗细太大而使其大于矩形,则矩形将消失(整个矩形被笔划覆盖)。
我可以调整一些设置,以便在矩形上绘制的笔划(笔)不会覆盖矩形(仅绘制在矩形的两边以外)
谢谢。
答案 0 :(得分:0)
在矩形的wpf边框是它的内部内容所以没有办法强迫它在矩形之外。但您可以调整矩形的大小以补偿Pen.Thickness。
答案 1 :(得分:0)
您可以简单地绘制两次矩形,首先使用Pen,然后使用画笔:
using (DrawingContext dc = dv.RenderOpen())
{
...
dc.DrawingRectangle(null, StrokePen, ...);
dc.DrawingRectangle(FillBrush, null, ...);
....
}