:http://nui.joshland.org/2010/04/why-wont-wpf-controls-work-with-touch.htmlWPF Touch Events + Flicks?私はMVVMプロジェクトでここで説明するソリューションを実装しています
しかし、問題は、私は私のXAMLでのUserControlでタッチダウンとTouchUpのイベントハンドラを実装する場合、他のGroupViewを得ることができないところ、私は問題に実行することですフリックのためのウィンドウメッセージはもはや - ORフリックは処理できないので、関連するウィンドウメッセージは送信されません。
ビューのトップダウン構造は次のとおりです。 ButtonsView - タッチイベントハンドラ GroupViewを持っている - マウスイベントハンドラとフリックイベントハンドラを持っている
私はコードビハインドにして、これを使用していますフリックをフックして扱う:
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
HwndSource source = PresentationSource.FromVisual(this) as HwndSource;
source.AddHook(WndProc);
}
private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
if (msg == Flicks.WM_TABLET_FLICK)
{
Flick flick = Flicks.ProcessMessage(lParam, wParam);
if (flick != null)
{
if (flick.Data.Direction == FLICKDIRECTION.FLICKDIRECTION_LEFT)
Scroller("left"); //scrolls left
else if (flick.Data.Direction == FLICKDIRECTION.FLICKDIRECTION_RIGHT)
Scroller("right"); //scrolls right
else if (flick.Data.Direction == FLICKDIRECTION.FLICKDIRECTION_UP)
Scroller("up"); //move up
else if (flick.Data.Direction == FLICKDIRECTION.FLICKDIRECTION_DOWN)
Scroller("down"); //move down
handled = true;
}
}
return IntPtr.Zero;
}
思考/提案?私はWPFの初心者です。 ありがとう