C# WPF: слайдер переходит в точное положение

Я использую слайдер в окне WPF, и я хочу, чтобы, когда пользователь нажимает где-то на дорожке слайдера, большой палец, чтобы перейти в это точное положение. В настоящее время, когда я нажимаю где-то, большой палец идет к этой позиции, но не к ровно эту позицию. Как я могу достичь того, чего хочу ?

Edit: пример, чтобы лучше объяснить, что я хочу: если большой палец находится на 10, и я нажимаю мышь вниз около 100, я хочу, чтобы он перескочил на 100 (без прохождения через другие значения.)

2 ответов


необходимо указать IsMoveToPointEnabled до True: http://msdn.microsoft.com/en-us/library/system.windows.controls.slider.ismovetopointenabled.aspx

Slider.IsMoveToPointEnabled получает или задает значение, указывающее, перемещается ли большой палец ползунка сразу к месту щелчка мыши, который происходит, когда указатель мыши приостанавливается на дорожке ползунка.


вы должны обрабатывать ползунок пальца мыши введите событие и определить behvior вы хотите.

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

затем вы устанавливаете положение большого пальца в событии ThumbMouseEnter hendler. Это позволит вам определить любое поведение, которое вы хотите.

очень похожий вопрос задается на social.msdn.microsoft.com