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