2016-12-01 81 views

回答

0

雖然我還沒有Deep Linking的案例,但我在OnNavigatedTo的許多頁面上執行了很多負載,並且它工作的很好!

這裏有一個例子:

public void OnNavigatedTo(NavigationParameters parameters) 
{ 
    if (parameters != null && 
     parameters.ContainsKey("MyKey")) 
    { 
     SomePrivateFieldInViewModel = (YourVariable)parameters["MyKey"]; 
     //SomeWork 
    } 

    GetItems(); 
} 

private async void GetItems() 
{ 
    try 
    { 
     SomeListInViewModel = await WebServices.GetEntity(SomePrivateFieldInViewModel); 
     //SomeWork 
    } 
    catch (Exception ex) 
    { 
     //SomeWork 
    } 
} 
+0

但你不等待您的來電GetItems所以它不是真的做異步代碼。你不知道該行的編譯器有什麼警告嗎? –

+0

沒有變暖。在運行時,OnNavigatedTo()將激發GetItems()並完成。 – danieljaguiar

+0

(按下ENTER過早)根本沒有變暖。在運行時,OnNavigatedTo()將激發GetItems()並完成。在這一點上,GetItems()已經運行,並將繼續做它的事情,直到它完成。由於用戶已經在屏幕/頁面中,GetItems()在開始時也將isLoading設置爲true(沒有在我的回答中)。這是加載是一個具有NotifyPropertyChange布爾,所以我的視圖將顯示一個加載控件。 – danieljaguiar