Wpf 使用xaml在二次贝塞尔线段上绘制箭头端点

Wpf 使用xaml在二次贝塞尔线段上绘制箭头端点,wpf,xaml,Wpf,Xaml,最简单的方法是什么来画一个箭头的结尾?棘手的部分是获得正确的旋转马赫的传入线段 你有什么想法吗?我应该延期吗 我画了一条简单的贝塞尔曲线。 您可以定义箭头的几何图形……但要在贝塞尔曲线末端正确定位箭头,需要反复尝试 相反,您可以使用此控件,并使用几何图形定义所需的收头,然后将其正确放置在“线”的末端 您的QuadraticBezierSegment的路径是静态的吗?(这看起来像是你的代码,但你提到让箭头与线段对齐,所以我不确定)是的,它是静态的,但是如果旋转是自动计算的,它会很方便

最简单的方法是什么来画一个箭头的结尾?棘手的部分是获得正确的旋转马赫的传入线段

你有什么想法吗?我应该延期吗

我画了一条简单的贝塞尔曲线。


您可以定义箭头的几何图形……但要在贝塞尔曲线末端正确定位箭头,需要反复尝试

相反,您可以使用此控件,并使用几何图形定义所需的收头,然后将其正确放置在“线”的末端

  • 
    

您的
QuadraticBezierSegment
路径是静态的吗?(这看起来像是你的代码,但你提到让箭头与线段对齐,所以我不确定)是的,它是静态的,但是如果旋转是自动计算的,它会很方便。
<Path Stroke="Black" StrokeThickness="1">
  <Path.Data>
    <PathGeometry>
      <PathGeometry.Figures>
        <PathFigureCollection>
          <PathFigure StartPoint="100,430">
            <PathFigure.Segments>
              <PathSegmentCollection>
                <QuadraticBezierSegment Point1="150,250" Point2="250,300" />
              </PathSegmentCollection>
            </PathFigure.Segments>
          </PathFigure>
        </PathFigureCollection>
      </PathGeometry.Figures>
    </PathGeometry>
  </Path.Data>
</Path>
<loc:CappedLine Stroke="Red" StrokeThickness="1" Canvas.Left="40" Canvas.Top="200" RenderTransformOrigin="0.5,0.5" Height="107" Width="195">
    <loc:CappedLine.EndCap>
        <GeometryGroup>
            <LineGeometry StartPoint="0,0" EndPoint="10,10"/>
            <LineGeometry StartPoint="0,0" EndPoint="10,-10"/>
        </GeometryGroup>
    </loc:CappedLine.EndCap>
    <loc:CappedLine.LinePath>
        <PathGeometry Figures="M0,0 C1,1 10.5,75.5 48.5,66.5 86.5,57.5 5,3.5000146 105.5,16.500091 157.5,29.500166 164.5,87.500505 164.5,87.500505" />
    </loc:CappedLine.LinePath>
</loc:CappedLine>

<loc:CappedLine Stroke="Red" StrokeThickness="1" Canvas.Left="180" Canvas.Top="200" RenderTransformOrigin="0.5,0.5" Height="107" Width="195">
    <loc:CappedLine.EndCap>
        <GeometryGroup>
            <LineGeometry StartPoint="0,0" EndPoint="10,10"/>
            <LineGeometry StartPoint="0,0" EndPoint="10,-10"/>
        </GeometryGroup>
    </loc:CappedLine.EndCap>
    <loc:CappedLine.LinePath>
        <PathGeometry Figures="M0,0 C1,1 10.5,75.5 48.5,66.5 86.5,57.5 5,3.5000146 105.5,16.500091" />
    </loc:CappedLine.LinePath>
</loc:CappedLine>