2010-09-10 5 views
1

Я не могу найти информацию о том, как получать пользовательские жесты на ScatterViewItems. Я хочу, чтобы «Tap-And-Hold» вызывал функцию в классе за моим шаблоном.Событие Tap-And-Hold на ScatterViewItem

ответ

0

Следующая ссылка как получать сообщения с сенсорным Жесты Win32 с помощью «WndProc», но образец находится в C++

http://msdn.microsoft.com/en-us/library/windows/desktop/dd371578(v=vs.85).aspx

Другой метод заключается в самом деле реализовать Tap-Hold жест с помощью простого «DispatcherTimer », который должен начинаться, когда« ScatterViewItem »затрагивается в обработчике события« PreviewTouchDown »элемента, на который вы хотите применить этот жест.

void OnPreviewTouchDown(object sender, System.Windows.Input.TouchEventArgs e) 
{ 
if(e.Source.GetHashCode() == YourUIElement.GetHashCode()) 
{ 
MyTimer.Start(); 

//You need to capture the touch before the ScatterViewItem handles its own touch which will  
//block you from receiving the touch up event 
YourUIElement.CaptureTouch(e.TouchDevice); 
e.Handled = true; 

} 
} 

void OnPreviewTouchUp(object sender, System.Windows.Input.TouchEventArgs e) 
{ 
YourUIElement.ReleaseAllTouches(); 
} 


private void OnTimerTick(object sender, EventArgs e) 
{ 
// To call whatever function or do whatever action you need. 
IsTapHoldGestureOkay = true; 
DoStuff(); 
MyTimer.Stop(); 
} 
0
TouchExtensions.AddTapGestureHandler(your_object_that_willdetect, your_handler_function); 

немного поздно, но никакого вреда =)

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