Я не могу найти информацию о том, как получать пользовательские жесты на ScatterViewItems. Я хочу, чтобы «Tap-And-Hold» вызывал функцию в классе за моим шаблоном.Событие Tap-And-Hold на ScatterViewItem
1
A
ответ
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);
немного поздно, но никакого вреда =)