Windows Phone Hold Gesture

eva*_*nko 2 c# windows-phone-7 windows-phone windows-phone-7.1

我正在开发一个依赖Hold Gesture开始执行特定任务的Windows Phone应用程序.问题是触发Hold Gesture之前必须经过的默认时间是1秒.

有什么方法可以将此设置更改为1/2秒?我知道我可以处理MouseOver事件并添加一个计时器然后触发我的任务但我想尽可能避免这样做.

顺便说一句,我可以使用Windows Phone SDK 7.0或7.1用于此目的,因此没有限制.

roq*_*str 6

无法更改保持事件的时间.

为什么不使用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
           }
     }
Run Code Online (Sandbox Code Playgroud)