static void slider_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { Debug.WriteLine("slider_PreviewMouseLeftButtonUp " + sender.GetType().Name); var slider = (sender as FrameworkElement); MouseDownHelper.SetIsMouseDown(slider, false); MouseDownHelper.SetIsMouseLeftButtonDown(slider, false); SetPlaying(slider); }
static void slider_MouseLeave(object sender, MouseEventArgs e) { foreach (var sliderData in _sliders) { sliderData.Slider.Tag = null; MouseDownHelper.SetIsMouseDown(sliderData.Slider, false); MouseDownHelper.SetIsMouseLeftButtonDown(sliderData.Slider, false); } }
private static void SliderOnMouseMove(object obj2, MouseEventArgs mouseEvent) { if (mouseEvent.LeftButton == MouseButtonState.Pressed) { var slider = (obj2 as Slider); if (slider == null) { slider = (obj2 as Thumb).Tag as Slider; } if (!MouseDownHelper.GetIsMouseLeftButtonDown(slider)) { slider_PreviewMouseLeftButtonDown(slider, null); } else { var x = mouseEvent.GetPosition(slider); if (slider.Orientation == Orientation.Horizontal) { var v = x.X / slider.ActualWidth; if (v < 0) { v = 0.0; } if (v > 1) { v = 1.0; } slider.SetValue(Slider.ValueProperty, slider.Maximum * v); SetSliderState(slider, true); } else { var v = x.Y / slider.ActualHeight; if (v < 0) { v = 0.0; } if (v > 1) { v = 1.0; } slider.SetValue(Slider.ValueProperty, slider.Maximum * v); SetSliderState(slider, true); } } } }
static void slider_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (sender is Thumb) { MouseButtonEventArgs args = new MouseButtonEventArgs(e.MouseDevice, e.Timestamp, MouseButton.Left); args.RoutedEvent = Thumb.MouseLeftButtonUpEvent; (sender as Thumb).RaiseEvent(args); return; } Debug.WriteLine("slider_PreviewMouseLeftButtonDown " + sender.GetType().Name); var slider = (sender as FrameworkElement); SetSliderState(slider, true); MouseDownHelper.SetIsMouseDown(slider, true); MouseDownHelper.SetIsMouseLeftButtonDown(slider, true); if (slider.Tag == null) { SetPaused(slider); } }