我正在使用多點觸摸來允許對項目執行捏動作。我有一個DispatchTimer
循環通過一組圖像,當我捏,我改變了目前的Image
控制(我擴展),使它看起來你捏動畫。導致用戶界面凍結或變慢的操作事件
我已經做了各種優化,但我無法弄清楚爲什麼動畫凍結或變得非常慢,而我的手指在屏幕上移動。即使當我禁用除圖像動畫以外的所有東西時,移動手指仍會導致相同的問題。
另外,當我有多個使用DispatchTimer
的動畫時,捏住其中一個凍結其餘的。有什麼我失蹤了嗎?爲什麼當我在屏幕上觸摸時整個用戶界面似乎凍結?
我的操作事件凍結了用戶界面。
private void _ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
if (e.Manipulators.Count() < 2) return;
e.Handled = true;
return;
}
更新:我發現UI凍結甚至當空的事件處理程序連接到ManipulationDelta
事件和操縱被打開。
使用Dispatcher.BeginInvoke() –
凡我會用嗎? – DanO
詳細闡述了e.Manipulators.Count()的邏輯和_ManipulationDelta的事件接線..描述了更多關於實現的細節 –