在DoDragDrop之后触摸事件不起作用

时间:2014-01-17 05:27:09

标签: wpf mvvm drag-and-drop

我正在开发支持基本触摸事件(非操作)的WPF应用程序。我正在使用Gong DragDrop来处理拖放操作。我遇到的问题描述如下:

在[Preview] Drop事件中(使用Gong DragDrop),我显示一个对话框并提示用户确认放置位置,用户必须单击“是”按钮才能完成放置或“否”按钮取消掉落。我可以使用鼠标点击这两个按钮,但触摸事件没有运气。

我使用spy ++来监视从窗口派生的提示对话框的鼠标事件。记录了鼠标事件和触摸事件。

为什么鼠标事件无效?触摸没有?有没有办法让工作接触?

1 个答案:

答案 0 :(得分:3)

显然这是WPF中的一个错误。微软决定忽略它,并删除了这里的错误报告: https://connect.microsoft.com/VisualStudio/feedback/details/619521/wpf-touch-bug引用 Connect是针对未来版本,而不是修复错误 source

This MSDN Forum thread详细介绍了一些可怜的窃贼试图在这个问题上与微软打交道。注意使用Visual Studio 2013升级到.Net 4.5.1并不能解决问题。

然而,他确实找到了一种解决方法,即在新线程上打开对话框。

Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Send, new Action(delegate
{
    var window = new MyWindowView
    {
        IsManipulationEnabled = true,
        Owner = Application.Current.MainWindow,
        Topmost = true
    };
    WindowInteropHelper helper = new WindowInteropHelper(window);
    helper.Owner = helper.Handle;
    window.ShowDialog();
}));