SurfaceListBox对触摸手势几秒钟没有响应
本文关键字:几秒 钟没 响应 触摸 SurfaceListBox | 更新日期: 2023-09-27 18:25:24
我有一个WPF程序,它有一个带两列的网格。第一个有按钮,第二个有嵌入ActiveX组件的WindowsFormsHost
元素。一个按钮隐藏WindowsFormsHost
-元素,并在第二列的屏幕上的同一位置显示SurfaceListBox
。如果我在按下此按钮之前触摸了WindowsFormsHost
元素,则从最后一次触摸到SurfaceListBox
负责触摸手势大约需要8秒。
线程可能没有被阻塞,因为我可以使用另一列中的按钮,并将ListBox
与鼠标一起使用。
如果我在8秒的等待时间内触摸ListBox
,它将永远对触摸事件没有响应。因此,ListBox
似乎不知何故没有得到触摸事件。
若我以编程方式创建另一个ListBox
,它也不起作用,在8秒内,如果它被放在与WindowsFormsHost
相同的屏幕上。
我注意到UIElement
有一个方法CaptureTouch()
,但我无法获得可以将其作为参数传递的TouchDevice
。我已经为每个UIElement
设置了ManipulationEnabled="true"
,并且不会触发TouchEvent
。
我还拼命地使用UpdateLayout()
等,但没有运气。
所以我认为触摸手势在某种程度上是错误的,在等待时间后,它隐含地修复了路由,但有没有办法让触摸手势立即在ListBox
中工作?
当我从程序中删除"启动屏幕键盘的焦点跟踪"时,问题消失了。
因此,如果其他人遇到同样的问题,http://www.infragistics.com/community/blogs/blagunas/archive/2013/12/17/showing-the-windows-8-touch-keyboard-in-wpf.aspx和SurfaceListBoxes并不适合彼此。