Я бы предложил использовать ListView или ItemsControl, где шаблон Item имеет линию и эллипс справа с 0 вертикальными и горизонтальными полями для шаблона данных.Таким образом, вы можете управлять содержимым и атрибутами временной шкалы с помощью привязки данных.
<ListView x:Name="Timeline">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Height="60">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Line X1="15" Stroke="Green" X2="15" Y1="0" Y2="60" StrokeThickness="2"/>
<Ellipse Fill="LightGreen" Width="30" Height="30" HorizontalAlignment="Left"/>
<TextBlock Text="{Binding}"
Grid.Column="1" VerticalAlignment="Center"
Margin="4"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>