我想使用DrawingContext类绘制一个贝塞尔曲线,如下所示:
var pathFigure = new PathFigure();
pathFigure.StartPoint = new Point(Width - 15, line.Position + line.Height);
pathFigure.Segments.Add(new BezierSegment(new Point(Width - 7.5, line.Position + line.Height - 20),new Point(Width, line.Position + line.Height + 20), new Point(Width + 7.5, line.Position + line.Height), false));
pathFigure.IsClosed = false;
var path = new PathGeometry();
path.Figures.Add(pathFigure);
drawingContext.DrawGeometry(Brushes.Black, _blackPen, path);我的_blackPen初始化如下:
_blackPen = new Pen(Brushes.Black, 1);但我得到了这个结果:

但我想要的是类似于此链接中所显示的东西。
那我错过了什么?
编辑:
设置pathFigure.IsFilled = false;时,路径消失:

drawingContext.DrawGeometry(null, _blackPen, path);也是如此
发布于 2020-01-14 06:07:33
不要填充几何图形。
要么使用null刷子
drawingContext.DrawGeometry(null, _blackPen, path);或设定
pathFigure.IsFilled = false;还需要将BezierSegment的BezierSegment属性设置为true
pathFigure.Segments.Add(
new BezierSegment(
new Point(Width - 7.5, line.Position + line.Height - 20),
new Point(Width, line.Position + line.Height + 20),
new Point(Width + 7.5, line.Position + line.Height),
true)); // herehttps://stackoverflow.com/questions/59727492
复制相似问题