Terlalu sering saya menginginkan slider WPF yang berperilaku seperti System.Windows.Forms.TrackBar yang lama. Artinya, saya ingin penggeser yang beralih dari X ke Y tetapi hanya memungkinkan pengguna untuk memindahkannya dalam posisi bilangan bulat terpisah.
Bagaimana seseorang melakukan ini di WPF karena properti Value pada Slider ganda?
Bagi mereka yang ingin mengambil posisi tertentu , Anda juga dapat menggunakan
Ticks
properti:sumber
Trik snap berguna tetapi memiliki batasan, misalnya jika Anda hanya ingin menampilkan subset dari tick yang valid. Saya telah sukses dengan dua alternatif: mengikat ke integer atau membulatkan nilai baru. Berikut adalah contoh gabungannya:
Saya tidak tahu bagaimana kinerja keduanya dibandingkan dengan trik jepret tetapi saya tidak mengalami masalah *.
* Jika Anda juga mengikat nilai slider ke jenis bidang teks, Anda akan mengalami hal itu, sesekali jika menggunakan mouse, bidang teks akan menampilkan desimal. Jika Anda juga mengikat ke int pada saat yang sama, string kosong akan menyebabkan pengecualian konversi dilemparkan yang secara singkat menghambat UI. Masalah ini belum cukup parah bagi saya untuk mencari solusinya.
sumber
Ticks
nilai (0, 10, 20, ...) tetapi semua nilai di antara (1, 2, ...) adalah valid dan dapat dipilih dengan misalnya tombol panah.IsSnapToTickEnabled
properti.