我正在構建一個窗口WPF應用程序 窗口中是一個列表項目(當然是保存在數據庫中) 定期我需要啓動一個後臺任務從Atom提要更新數據庫。隨着每個新項目被添加到數據庫中,UI中的列表也必須更新以反映這一點。我不希望這個後臺任務放慢UI,但同時它需要與UI進行交互。針對WPF應用程序的多線程策略所需的建議
閱讀過大量的文章,並看到很多簡單的例子,我仍然不確定實現這一點的最佳方式。
我覺得也許我可以做的是:
在Window_Loaded事件,創造一個DispatchTimer。 當Tick事件觸發時,調用UpdateDb()方法。 UpdateDB()將從Atom提要中獲取項目並添加到數據庫。當我迭代每個項目時,我會調用另一種方法將列表重新綁定到數據庫,以便「刷新」。 當所有的任務完成後重置DispatchTimer ??? (不知道這是否可以/需要/完成)。
請記住,這是後臺任務,因此用戶可以同時使用UI。
聽起來如何?
謝謝。
我喜歡這種聲音。我不需要數據服務,因爲我已經有一個管理類來處理數據庫工作。 UI中沒有數據庫工作正在發生。我只是想簡單地解釋我的問題的背景信息。 – empo 2009-08-28 08:47:23