我正在开发一个Windows Phone应用程序,它依赖于Hold Gesture来开始执行特定任务。问题在于,触发“保持手势”之前必须经过的默认时间为1 second。
有什么办法可以将此设置更改为每秒1/2?我知道我可以处理MouseOver事件并添加一个计时器,然后该计时器将触发我的任务,但我想尽可能避免这样做。
顺便说一句,我可以为此目的使用Windows Phone SDK 7.0或7.1,因此那里没有限制。
最佳答案
无法更改保持事件的时间。
为什么不使用MouseLeftButtonDown?
看起来像这样
bool hold = false;
DispatcherTimer timer = new DispatcherTimer();
private void x_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
hold = true;
timer.Interval = new TimeSpan(0, 0, 0, 0, 500);//days,hours,minutes,seconds,milliseconds
timer.Tick += new EventHandler(timer_tick);
timer.Start();
}
private void x_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
hold=false;
}
private void timer_Tick(object sender, EventArgs e)
{
timer.Stop();
if(hold = true)
{
//et voilà, hold-event after 0,5 seconds
// place actions that should be handled after 0,5seconds HERE
}
}
关于c# - Windows Phone保持手势,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9641305/