Рисование "ушек" стрелки относительно линии
В приложении на WPF есть Canvas на котором пользователь может ставить точки и соединять их. Таким образом он строит граф. Связи у графа могут быть ненаправленные, однонаправленные и двунаправленные.
Для ненаправленной связи рисуется просто линия
Но для направленной связи нужно рисовать стрелку, причем которая будет следовать за вершиной.
Сам механизм следования линии за вершиной готов.
Проблема заключается в рисовании "ушек" стрелок относительно линии. Подскажите какие есть варианты сделать такое? Или можно сделать это как-то по другому?
Код рисования линии
<!--Отображение связей.-->
<ItemsControl ItemsSource="{Binding Connections}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Line
X1="{Binding X1}"
Y1="{Binding Y1}"
X2="{Binding X2}"
Y2="{Binding Y2}"
Stroke="Black"
StrokeThickness="{Binding Thickness}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseDown">
<i:InvokeCommandAction Command="{Binding Path=DataContext.ClickOnGraphElement, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" CommandParameter="{Binding}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Line>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>