Рисование "ушек" стрелки относительно линии

В приложении на 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>

Ответы (0 шт):