问题描述
我尝试了此XAML:
<Slider Width="250" Height="25" Minimum="0" Maximum="1" MouseLeftButtonDown="slider_MouseLeftButtonDown" MouseLeftButtonUp="slider_MouseLeftButtonUp" />
还有这个C#:
private void slider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
sliderMouseDown = true;
}
private void slider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
sliderMouseDown = false;
}
sliderMouseDown变量从不更改,因为从不引发MouseLeftButtonDown和MouseLeftButtonUp事件.当用户在滑块上按下鼠标左键以将bool值设置为true并将鼠标设置为bool时,如何将bool设置为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?
推荐答案
滑块会吞下MouseDown事件(类似于按钮).
Sliders swallow the MouseDown Events (similar to the button).
您可以注册PreviewMouseDown和PreviewMouseUp事件,这些事件在滑块有机会处理它们之前被触发.
You can register for the PreviewMouseDown and PreviewMouseUp events which get fired before the slider has a chance to handle them.
这篇关于WPF:滑块不会引发MouseLeftButtonDown或MouseLeftButtonUp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!