2014-10-03 60 views
0

我有一個WPF程序,它具有兩列的網格。第一個是按鈕,第二個是嵌入ActiveX組件的元素。一個按鈕隱藏WindowsFormsHost -element,並在第二列的屏幕上的相同位置顯示SurfaceListBox。如果在按下此按鈕之前觸摸了WindowsFormsHost元素,則從最後一次觸摸開始大約需要8秒,直到SurfaceListBox負責觸摸手勢。SurfaceListBox對觸摸手勢沒有響應幾秒鐘

該線程可能未被阻止,因爲我可以使用另一列中的按鈕,並使用鼠標使用ListBox

如果我在8秒的等待時間內觸摸它,ListBox將永遠無法響應觸摸事件。所以看起來不知何故ListBox沒有得到觸摸事件。

如果我以編程方式創建另一個ListBox,則它在8秒內不起作用,如果它放置在屏幕上的時間不是WindowsFormsHost

我注意到有一個方法 UIElement,但我無法抓住TouchDevice,我可以通過它作爲參數。我已經爲每個UIElement設置了ManipulationEnabled="true",並且沒有TouchEvent將被解僱。

我也拼命使用UpdateLayout()等沒有運氣。

因此,我認爲觸摸手勢在某種程度上被路由錯誤,在等待時間後隱式修復了路由,但有沒有辦法讓觸摸手勢立即在ListBox中工作?

+1

嗨,歡迎來到SO,請您仔細閱讀[本指南](http://stackoverflow.com/help/how-to-ask)?包括相關代碼,xaml和信息,以及獲得良好答案和upvotes的更好機會:) – 2014-10-03 12:06:07

回答