我在 WPF 窗口中使用了一个滑块,我希望当用户单击滑块轨道上的某个位置时,拇指可以到达那个确切的位置。目前,当我单击某个位置时,拇指会朝那个位置移动,但不会完全指向那个位置。我怎样才能达到我想要的?
编辑:一个更好地解释我想要的例子:如果拇指在 10 并且我在 100 附近按下鼠标,我希望它跳到 100 (不通过其他值)。
我在 WPF 窗口中使用了一个滑块,我希望当用户单击滑块轨道上的某个位置时,拇指可以到达那个确切的位置。目前,当我单击某个位置时,拇指会朝那个位置移动,但不会完全指向那个位置。我怎样才能达到我想要的?
编辑:一个更好地解释我想要的例子:如果拇指在 10 并且我在 100 附近按下鼠标,我希望它跳到 100 (不通过其他值)。
您需要设置IsMoveToPointEnabled
为:http True
: //msdn.microsoft.com/en-us/library/system.windows.controls.slider.ismovetopointenabled.aspx
Slider.IsMoveToPointEnabled
获取或设置一个值,该值指示 Slider 的 Thumb 是否立即移动到鼠标指针在 Slider 轨道上暂停时发生的鼠标单击位置。
您应该处理滑块拇指鼠标输入事件并定义您想要的行为。
var thumb = (slider1.Template.FindName("PART_Track", slider) as Track).Thumb;
thumb.MouseEnter += new MouseEventHandler(ThumbMouseEnter);
然后在 ThumbMouseEnter 事件处理程序中设置拇指的位置。这将允许您定义您想要的任何行为。
在social.msdn.microsoft.com上提出了非常相似的问题