我注意到一些奇怪的(但逻辑)的行为与滑块我有我重写了我想重写的拇指控制模板的位置。这不是完整的XAML,但它是关键部分。红色的矩形是手柄,它的中间有一条白色的水平线。带控制模板拇指的滑块会影响值?
<Slider VerticalAlignment="Center"
Orientation="Vertical"
IsMoveToPointEnabled="True"/>
<ControlTemplate TargetType="{x:Type Thumb}">
<Grid Margin="0,1,0,1" SnapsToDevicePixels="True">
<Border Name="PART_Border"
Background="White"
Height="1"/>
<Rectangle x:Name="PART_Grip" Fill="Red" Height="50" Width="15" ClipToBounds="True"/>
</Grid>
</ControlTemplate>
在后面的代码,如果我的模板挂钩到在滑块的风格大拇指,它给了我一个可爱的小滑块这样这是我想要的。
但是,一旦我开始四处滑动,我注意到,功能略有不同,当你有Rectangle
。当你拖动时,Thumb
到达轨道末端(粗略地在这里显示为绿色),但Thumb
将停在矩形的顶部,这意味着白线与轨道的刻度值不正确对齐。
如果您删除的Grid
Rectangle PART_Grip
和滑动一路上涨这样,白线将与最后一跳,像这样排列的:
<ControlTemplate TargetType="{x:Type Thumb}">
<Grid Margin="0,1,0,1" SnapsToDevicePixels="True">
<Border Name="PART_Border"
Background="White"
Height="1"/>
</Grid>
</ControlTemplate>
如何将Rectangle
定位在Grid
中,使得矩形可以超出轨道的末端,但whi te线将与蜱对齐并仍居中?我尝试Rectangle
作为Adorner
而不是,它的工作,但它似乎不可能正确触发 10,所以你不能拖动大拇指。也许有一种方法可以覆盖勾号功能,并且可以通过Rectangle
高度进行偏移,而无需执行Adorner
路线?
我想看到的: