C#WPF:滑块移动到准确位置

The*_*ner 15 c# wpf user-interface user-controls slider

我在WPF窗口中使用了一个滑块,当用户点击滑块轨道上的某个位置时,我想要那个拇指转到那个确切的位置.目前,当我点击某处,拇指朝去那个位置,但不完全相同那个位置.我怎样才能实现我的目标?

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

Bol*_*olu 38

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

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


小智 5

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

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

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

Social.msdn.microsoft.com上也提出了非常类似的问题