2010-06-03 2 views
0

Я использую элемент управления ползунком в WPF, чтобы показать, какая часть файла была прочитана, и контролировать, где читать файл.basic WPF slider question

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

Но как определить, что пользователь нажал на ползунок и перемещает его, чтобы я мог искать свой файл на нужном расстоянии? Я попытался добавить обработчики в MouseLeftButtonDown, DragEnter, DragLeave и DragOver, но они не вызываются, когда я нажимаю и перетаскиваю ползунок. Это XAML текущего слайдера:

<Slider x:Name="sliderProgress" TickPlacement="BottomRight" TickFrequency="1000" Minimum="0" Maximum="1000" Value="{Binding ProgressValue1000}" Style="{DynamicResource SliderStyle1}" HorizontalAlignment="Left" Width="478" MouseLeftButtonDown="onSliderLeftButtonDown" /> 

ответ

1

Вы должны добавить обработчик для события ValueChanged для того, чтобы получить текущее значение ползунка, когда пользователь перемещает его вокруг. то вы можете найти новое значение ползунка, используя параметр e.NewValue события.

0

Почему вы не можете использовать связанное свойство 'ProgressValue'? Изменение, сделанное пользователем, готово для вас в этом свойстве, поскольку любой элемент управления UserEditable связывает TwoWay по умолчанию и обновляет источник, когда его свойство изменяется.

Как только пользователь изменяет значение ползунка, изменение распространяется на свойство bound 'ProgressValue'. Теперь вы можете использовать это свойство для поиска файла.