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