Жест удержания Windows Phone - PullRequest
2 голосов
/ 10 марта 2012

Я разрабатываю приложение для Windows Phone, которое полагается на Жест удержания, чтобы начать выполнять определенную задачу.Проблема заключается в том, что по умолчанию время, которое должно пройти до того, как сработает жест удержания, составляет 1 секунда .

Можно ли как-нибудь изменить эту настройку на 1/2 секунды?Я понимаю, что могу обработать событие MouseOver и добавить таймер, который затем запускает мою задачу, но я хотел бы избежать этого, если это вообще возможно.

Кстати, для этой цели я могу использовать Windows Phone SDK 7.0 или 7.1, поэтому здесь нет никаких ограничений.

1 Ответ

6 голосов
/ 10 марта 2012

изменить время удержания невозможно.

почему бы вам не использовать 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
           }
     }
...