2013-04-30 34 views
0

在引導程序中,我有兩個視圖。使用IRegionManager,我在第一個和第二個視圖之間導航。如何在返回服務結果後實現邏輯導航

第一個視圖包含一個搜索框。用戶鍵入一個字符串,單擊搜索。第一個視圖將字符串傳遞給第二個視圖。第二個視圖使用此字符串來調用服務以獲取項目列表。

到目前爲止一切正常,但我想做這個異步(也添加一個ProgressIndicator)。這是我不希望應用程序在用戶點擊搜索按鈕時鎖定。

我希望應用程序的行爲,像這樣:(我已經實現)

  1. 用戶輸入一個搜索字符串,並在搜索點擊
  2. 用戶應保留在第一視圖與進步酒吧變得可見(我已實施)
  3. 在後臺搜索應該對數據庫進行異步調用。 (已執行)
  4. 從服務返回結果後,視圖應該更改爲第二個視圖並顯示結果。 (我還沒有能夠實現這一點)

我該如何實現第4步行爲?

回答

0

有幾種不同的方式可以使您的服務異步調用。在可用的選項中,我建議使用BackgroundWorker,它可以處理大多數髒東西,或者使用.NET 4.5新增的Task

對於BackgroundWorker,您可以在this answer中找到一個簡單示例,您還可以通過搜索找到更多示例。

對於Task,您可以在MSDN here上閱讀它,並通過簡單的網絡搜索找到許多示例。