我正在开发支持基本触摸事件(非操作)的WPF应用程序。我正在使用Gong DragDrop来处理拖放操作。我遇到的问题描述如下:
在[Preview] Drop事件中(使用Gong DragDrop),我显示一个对话框并提示用户确认放置位置,用户必须单击“是”按钮才能完成放置或“否”按钮取消掉落。我可以使用鼠标点击这两个按钮,但触摸事件没有运气。
我使用spy ++来监视从窗口派生的提示对话框的鼠标事件。记录了鼠标事件和触摸事件。
为什么鼠标事件无效?触摸没有?有没有办法让工作接触?
答案 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();
}));