我正在开发一个支持基本触摸事件(非操纵)的WPF应用程序。我正在使用Gong DragDrop处理拖放 Action 。我遇到的问题描述如下:
在[Preview] Drop事件中(使用Gong DragDrop),我显示一个对话框,提示用户确认放置位置,该用户必须单击"is"按钮以完成放置,或单击“否”按钮来取消下降。我可以使用鼠标单击这两个按钮,但是触摸事件没有运气。
我已经使用spy++来监视提示对话框的鼠标事件,该对话框是从窗口派生的。记录了鼠标事件和触摸事件。
为什么鼠标事件起作用而触摸却没有起作用?有没有联系上类的方法?
最佳答案
显然,这是WPF中的错误。 Microsoft已决定不理会它,并删除了此处的错误报告:https://connect.microsoft.com/VisualStudio/feedback/details/619521/wpf-touch-bug
引用Connect是用于将来的版本,而不是用于修复错误source。
This MSDN Forum thread详细介绍了一些可疑的漏洞修复程序,试图在此问题上与Microsoft打交道。请注意,使用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();
}));
关于wpf - DoDragDrop之后触摸事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21178504/