2014-11-10 4 views
0

В моем окне WPF у меня есть кнопка и ползунок.Отключить перетаскивание мышью на слайдер

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

Dispatcher.BeginInvoke((Action)delegate() 
{ 
    slider.Value = slider.Value - 1; 
} 

Однако вопрос я все еще могу играть ползунок с помощью мыши в то же время. Я могу перетащить ползунок в произвольное значение при запуске. Я хочу отключить функцию перетаскивания мышью во время процесса.

+4

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

ответ

0

Когда выбрано новое значение, и вы запускаете задачи, вы также должны отключить слайдер, установив slider.IsEnabled = false. Когда закончится ваша последняя задача, снова включите слайдер. Пользователь не сможет манипулировать слайдером каким-либо образом, пока он отключен.