C# 画双箭头线

C# 画双箭头线,c#,wpf,C#,Wpf,我正在尝试使用几何体类渲染一个双面箭头。我已经能够得到一个箭头,如下图所示: 从图像中可以看到,右下角的线条似乎也已断开,并以黄色突出显示: 我正在尝试绘制一条双面箭头线,如下图所示: 这是我目前正在进行的工作,如果需要添加更多细节,请让我知道 public class DoubleArrow : Shape { public DoubleArrow() : base() { Stretch = Stretch.Fill; } protected ov

我正在尝试使用
几何体
类渲染一个双面箭头。我已经能够得到一个箭头,如下图所示:

从图像中可以看到,右下角的线条似乎也已断开,并以黄色突出显示:

我正在尝试绘制一条双面箭头线,如下图所示:

这是我目前正在进行的工作,如果需要添加更多细节,请让我知道

public class DoubleArrow : Shape
{
   public DoubleArrow() : base()
   {
      Stretch = Stretch.Fill;
   }

   protected override Geometry DefiningGeometry
   {
      get { return GetGeometry(); }
   }

   protected override Size MeasureOverride(Size constraint)
   {
      return constraint;
   }

   private Geometry GetGeometry()
   {                     
      return Geometry.Parse("M 0 4 L 16 4 L 10 0 M 16 4 L 10 8");
   }
}

您正在像笔划一样绘制路径:

这将不允许您使用
填充
,这也是您的点看起来不匹配的原因。如果改为像多边形一样绘制路径,则可以使用
Fill
,点将显示为对齐

这是我将使用的路径,您可以使用

编辑

刚刚看到你改变了你的目标图片。以下是我将使用的新路径:

M 4  2
L 0  4
L 4  6
M 0  4
L 20 4
M 16 2
L 20 4
L 16 6

将StrokeStartLineCap、StrokeEndLineCap和StrokeLineJoin设置为
圆形
。感谢Clemens,下面的答案和您的建议非常有效!
M 4  2
L 0  4
L 4  6
M 0  4
L 20 4
M 16 2
L 20 4
L 16 6