Slider 控件虽然提供了N多鼠标事件,但是却大多数不会触发(MouseDown、MouseUp 等等),不相信的朋友可以试一试。解决方法:Thumb.DragStarted 事件和 Thumb.DragCompleted 事件:请看如下代码
/// <summary> /// 进度拖拽完成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void sldProgress_DragCompleted(object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e) { //重新设置进度并开始设置进度 mediaElement.Position = TimeSpan.FromSeconds(sldProgress.Value); Timer.Start(); } /// <summary> /// 进度条拖拽 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void sldProgress_DragStarted(object sender, System.Windows.Controls.Primitives.DragStartedEventArgs e) { //停止获取进度 Timer.Stop(); }
使用方式 仅做参考 只写了一个 附:Thumb.DragCompleted 不会智能提示 事件列表中也不存在 但是可以使用。
<Slider Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" Thumb.DragCompleted="Slider_DragCompleted"/>
参考:
http://blog.csdn.net/wangwenzhuang/archive/2011/02/22/6199990.aspx
http://www.silverlightchina.net/html/study/WPF/2011/0222/5544.html