<UserControl>
<Grid>
<ScrollViewer
x:Name="PART_Scroll"
HorizontalScrollBarVisibility="Auto"
PreviewMouseDown="OnPreviewMouseDown"
PreviewMouseMove="OnPreviewMouseMove"
PreviewMouseUp="OnPreviewMouseUp"
PreviewMouseWheel="OnPreviewMouseWheel"
VerticalScrollBarVisibility="Disabled">
<StackPanel Orientation="Vertical">
<Canvas
x:Name="TicksCanvas"
Height="28"
Background="White" />
<Canvas
x:Name="BlocksSurface"
Height="120">
<!-- ItemsControl uses Canvas for positioning -->
<ItemsControl
x:Name="PART_Items"
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Canvas>
</StackPanel>
</ScrollViewer>
</Grid>
</UserControl>
<UserControl>
<Grid>
<ScrollViewer
x:Name="PART_Scroll"
HorizontalScrollBarVisibility="Auto"
PreviewMouseDown="OnPreviewMouseDown"
PreviewMouseMove="OnPreviewMouseMove"
PreviewMouseUp="OnPreviewMouseUp"
PreviewMouseWheel="OnPreviewMouseWheel"
VerticalScrollBarVisibility="Disabled">
<StackPanel Orientation="Vertical">
<Canvas
x:Name="TicksCanvas"
Height="28"
Background="White" />
<Canvas
x:Name="BlocksSurface"
Height="120">
<!-- ItemsControl uses Canvas for positioning -->
<ItemsControl
x:Name="PART_Items"
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Canvas>
</StackPanel>
</ScrollViewer>
</Grid>
</UserControl>