2
我有一個SL應用程序,並且我有一些事件,一旦用戶點擊,應用程序正在做一些工作。 這項工作凍結了用戶界面直到作業完成(作業修改了用戶界面元素)。 如何提高SL應用程序中UI作業的性能?我讀過UI線程是唯一的選擇。Silverlight UI更改凍結應用程序
謝謝
我有一個SL應用程序,並且我有一些事件,一旦用戶點擊,應用程序正在做一些工作。 這項工作凍結了用戶界面直到作業完成(作業修改了用戶界面元素)。 如何提高SL應用程序中UI作業的性能?我讀過UI線程是唯一的選擇。Silverlight UI更改凍結應用程序
謝謝
您應該使用BackgroundWorker來完成您的密集工作。
它把工作完成後,這是最主要/ UI線程上執行的事件(RunWorkerCompleted)。
編輯:
如果你的後臺作業需要更新的用戶界面,您可以使用接線員:
Dispatcher.BeginInvoke on MSDN
例子:
Deployment.Current.Dispatcher.BeginInvoke(() => MessageBox.Show("This is executed on UI thread"));
大部分的工作是修改UI元素。因此將它們放入BackgroundWorker不是解決方案 – Himberjack
編輯我的答案... – jv42