2011-10-04 57 views
2

我正在使用多點觸摸來允許對項目執行捏動作。我有一個DispatchTimer循環通過一組圖像,當我捏,我改變了目前的Image控制(我擴展),使它看起來你捏動畫。導致用戶界面凍結或變慢的操作事件

我已經做了各種優化,但我無法弄清楚爲什麼動畫凍結或變得非常慢,而我的手指在屏幕上移動。即使當我禁用除圖像動畫以外的所有東西時,移動手指仍會導致相同的問題。

另外,當我有多個使用DispatchTimer的動畫時,捏住其中一個凍結其餘的。有什麼我失蹤了嗎?爲什麼當我在屏幕上觸摸時整個用戶界面似乎凍結?

我的操作事件凍結了用戶界面。

private void _ManipulationDelta(object sender, ManipulationDeltaEventArgs e) 
{ 
    if (e.Manipulators.Count() < 2) return; 

    e.Handled = true; 
    return; 
} 

更新:我發現UI凍結甚至當空的事件處理程序連接到ManipulationDelta事件和操縱被打開。

+0

使用Dispatcher.BeginInvoke() –

+0

凡我會用嗎? – DanO

+0

詳細闡述了e.Manipulators.Count()的邏輯和_ManipulationDelta的事件接線..描述了更多關於實現的細節 –

回答

0

通過優化操作處理程序外部的代碼解決了此問題。