2013-08-02 58 views
9

Tôi đang sử dụng thanh trượt trong cửa sổ WPF và tôi muốn khi người dùng nhấp vào một nơi nào đó trên thanh trượt, ngón tay cái để đi đến vị trí chính xác đó. Hiện tại, khi tôi nhấp vào một nơi nào đó, ngón tay cái đi về phía vị trí đó, nhưng không phải là chính xác là vị trí đó. Làm thế nào tôi có thể đạt được những gì tôi muốn?C# WPF: thanh trượt đến vị trí chính xác

Chỉnh sửa: Ví dụ để giải thích rõ hơn những gì tôi muốn: Nếu ngón tay cái ở 10 và tôi nhấn chuột xuống gần 100, tôi muốn nó nhảy tới 100 (không qua các giá trị khác).

Trả lời

23

bạn cần phải thiết lập IsMoveToPointEnabled để True: http://msdn.microsoft.com/en-us/library/system.windows.controls.slider.ismovetopointenabled.aspx

Slider.IsMoveToPointEnabled Gets hoặc thiết lập một giá trị cho biết liệu Thumb của một trượt di chuyển ngay lập tức đến vị trí của các click chuột xảy ra trong khi con trỏ chuột tạm dừng trên thanh trượt.

+0

Vâng, đúng vậy. Tôi đã chắc chắn rằng tôi đã thử giải pháp này, nhưng dường như tôi đã sai. Cảm ơn bạn ! – TheQuestioner

2

Bạn nên xử lý thao tác trượt ngón tay cái vào sự kiện và xác định hành vi bạn muốn.

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

Sau đó, bạn đặt vị trí của ngón cái trong trình điều khiển sự kiện ThumbMouseEnter. Điều này sẽ cho phép bạn xác định bất kỳ hành vi nào bạn muốn.

Câu hỏi tương tự được hỏi trên social.msdn.microsoft.com