我有一個WPF程序,它具有兩列的網格。第一個是按鈕,第二個是嵌入ActiveX組件的元素。一個按鈕隱藏WindowsFormsHost
-element,並在第二列的屏幕上的相同位置顯示SurfaceListBox
。如果在按下此按鈕之前觸摸了WindowsFormsHost
元素,則從最後一次觸摸開始大約需要8秒,直到SurfaceListBox
負責觸摸手勢。SurfaceListBox對觸摸手勢沒有響應幾秒鐘
該線程可能未被阻止,因爲我可以使用另一列中的按鈕,並使用鼠標使用ListBox
。
如果我在8秒的等待時間內觸摸它,ListBox
將永遠無法響應觸摸事件。所以看起來不知何故ListBox
沒有得到觸摸事件。
如果我以編程方式創建另一個ListBox
,則它在8秒內不起作用,如果它放置在屏幕上的時間不是WindowsFormsHost
。
我注意到有一個方法 UIElement
,但我無法抓住TouchDevice
,我可以通過它作爲參數。我已經爲每個UIElement
設置了ManipulationEnabled="true"
,並且沒有TouchEvent
將被解僱。
我也拼命使用UpdateLayout()
等沒有運氣。
因此,我認爲觸摸手勢在某種程度上被路由錯誤,在等待時間後隱式修復了路由,但有沒有辦法讓觸摸手勢立即在ListBox
中工作?
嗨,歡迎來到SO,請您仔細閱讀[本指南](http://stackoverflow.com/help/how-to-ask)?包括相關代碼,xaml和信息,以及獲得良好答案和upvotes的更好機會:) – 2014-10-03 12:06:07