2012-03-09 5 views
2

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

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

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

ответ

6

Невозможно изменить время проведения мероприятия.

почему вы не используете MouseLeftButtonDown для этого? lõoke бы, как это

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 
      } 
    } 
+0

Спасибо за ваш ответ, я надеялся, чтобы избежать обработки каких-либо событий кнопок. Прежде чем принять ответ, я вошел, чтобы посмотреть на реальный код жестов в отражателе, и похоже, что я не могу расширить классы или переопределить любые методы, потому что они сообщаются классами, находящимися в пределах рамки. – evasilchenko

Смежные вопросы