18

我在 WPF 窗口中使用了一个滑块,我希望当用户单击滑块轨道上的某个位置时,拇指可以到达那个确切的位置。目前,当我单击某个位置时,拇指会朝那个位置移动,但不会完全指向那个位置。我怎样才能达到我想要的?

编辑:一个更好地解释我想要的例子:如果拇指在 10 并且我在 100 附近按下鼠标,我希望它跳到 100 (不通过其他值)。

4

2 回答 2

43

您需要设置IsMoveToPointEnabled为:http True: //msdn.microsoft.com/en-us/library/system.windows.controls.slider.ismovetopointenabled.aspx

Slider.IsMoveToPointEnabled获取或设置一个值,该值指示 Slider 的 Thumb 是否立即移动到鼠标指针在 Slider 轨道上暂停时发生的鼠标单击位置。

于 2013-08-02T14:15:24.263 回答
4

您应该处理滑块拇指鼠标输入事件并定义您想要的行为。

var thumb = (slider1.Template.FindName("PART_Track", slider) as Track).Thumb;
thumb.MouseEnter += new MouseEventHandler(ThumbMouseEnter);

然后在 ThumbMouseEnter 事件处理程序中设置拇指的位置。这将允许您定义您想要的任何行为。

在social.msdn.microsoft.com上提出了非常相似的问题

于 2013-08-02T14:20:58.153 回答