功能:拖动拇指,如果用户在不松开拇指的情况下暂停了一段时间,我想做些事情。我该如何实现?
我了解OnThumbDragDelta,OnThumbDragCompleted,OnThumbDragStarted方法,但是当值更改时,它们都会触发。当滑块被拖动时,如果滑块在某个值上停留一定时间,则需要触发一个事件。
答案 0 :(得分:0)
您可以通过将所需的Event
与Timer
(用作倒计时)组合来实现。
在您的情况下,您可以使用Slider.OnValueChanged
代替OnThumbDragDelta
,OnThumbDragCompleted
等等。
每次升高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
}