不是一个很好的解决方案,但您可以制作一个自定义模板,然后添加一个包含所需项目的 UniformGrid。
要添加自定义模板,请将滑块添加到您的 xaml。假设您使用的是 Visual Studio,您可以转到 Properties Window 并在 Miscellaneous 部分下转到 Templates -> 转换为新资源。
从这里您将能够对默认模板进行更改。
在 TickBars 下方,我添加了一个 UniformGrid。您可以删除 TickBars,但我将它们留作下图中的比较显示。
<UniformGrid Columns="11">
<TextBlock Text="▼" TextAlignment="Left"/>
<TextBlock Text="▼" TextAlignment="Left" Margin="7,0,0,0"/>
<TextBlock Text="▼" TextAlignment="Left" Margin="13,0,0,0"/>
<TextBlock Text="▼" TextAlignment="Left" Margin="20,0,0,0"/>
<TextBlock Text="▼" TextAlignment="Left" Margin="24,0,0,0"/>
<TextBlock Text="▼" TextAlignment="Center"/>
<TextBlock Text="▼" TextAlignment="Right" Margin="0,0,24,0"/>
<TextBlock Text="▼" TextAlignment="Right" Margin="0,0,20,0"/>
<TextBlock Text="▼" TextAlignment="Right" Margin="0,0,13,0"/>
<TextBlock Text="▼" TextAlignment="Right" Margin="0,0,7,0"/>
<TextBlock Text="▼" TextAlignment="Right"/>
</UniformGrid>
文本用于向下箭头。你可以找到其他箭头here。
第一个、中间和最后一个文本块将与刻度线的正常位置对齐。其余的将需要偏移量,这就是边距的用途。它们在每一侧都是相等的,但请注意,除非您知道控件不会改变大小,否则硬编码这些是不合理的。如果控件改变大小,您将不得不做一些数学运算来动态生成字体和边距。
我更改了前景色和背景色以获得更好的可见性,但你最终应该得到这样的结果。