I tried this XAML:
<Slider Width='250' Height='25' Minimum='0' Maximum='1' MouseLeftButtonDown='slider_MouseLeftButtonDown' MouseLeftButtonUp='slider_MouseLeftButtonUp' />
And this C#:
private void slider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { sliderMouseDown = true; } private void slider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { sliderMouseDown = false; }
The sliderMouseDown variable never changes because the MouseLeftButtonDown and MouseLeftButtonUp events are never raised. How can I get this code to work when a user has the left mouse button down on a slider to have a bool value set to true, and when the mouse is up, the bool is set to false?
Sliders swallow the MouseDown Events (similar to the button).
You can register for the PreviewMouseDown and PreviewMouseUp events which get fired before the slider has a chance to handle them.