WPF:带有拖动事件的滑块(拖动时暂停,不释放拇指)

时间:2019-01-20 09:30:17

标签: c# wpf slider

功能:拖动拇指,如果用户在不松开拇指的情况下暂停了一段时间,我想做些事情。我该如何实现?

我了解OnThumbDragDelta,OnThumbDragCompleted,OnThumbDragStarted方法,但是当值更改时,它们都会触发。当滑块被拖动时,如果滑块在某个值上停留一定时间,则需要触发一个事件。

1 个答案:

答案 0 :(得分:0)

您可以通过将所需的EventTimer(用作倒计时)组合来实现。
在您的情况下,您可以使用Slider.OnValueChanged代替OnThumbDragDeltaOnThumbDragCompleted等等。

每次升高Event都会重置该计时器。并且当倒计时结束时,您可以执行任何操作。


private DispatcherTimer dispatcherTimer;

初始化(例如在您的构造函数中):

dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Interval = TimeSpan.FromSeconds(1); //Or whatever time you like
dispatcherTimer.Tick += DispatcherTimer_Tick;
private void OnEvent(object sender, EventArgs e)
{
    dispatcherTimer.Stop();
    dispatcherTimer.Start();
}
private void DispatcherTimer_Tick(object sender, EventArgs e)
{
    dispatcherTimer.Stop();
    //Your code
}