2016-11-24 61 views
1

我正在爲運行Windows 10 IoT Mobile並因此使用UWP的設備開發內部應用程序。我正在使用Mvvm Light工具包。應用程序需要用戶登錄(沒有什麼奇怪的,只是爲了記錄目的記錄他們的名字),所以如果這個值沒有被設置(通過保存的設置),應用程序的主ViewModel導航到登錄頁面。Mvvm從ViewModel的構造函數中進行光導航

我遇到了使用Mvvm光導航服務的問題。如果您嘗試從ViewModel的構造函數中導航,則不會發生任何事情。

例如,在Visual Studio中,創建一個新的Mvvmlight(Win10Univ)項目。這創建了一些導航示例應用程序。

現在把導航代碼在構造函數如:

public MainViewModel(IDataService dataService, INavigationService navigationService) 
{ 
    _dataService = dataService; 
    _navigationService = navigationService; 
    _navigationService.NavigateTo(ViewModelLocator.SecondPageKey, "12321"); 
    Initialize(); 
} 

這個新的代碼行顯得無能爲力,與debbugger踩着直了它,並沒有在輸出窗口。

一個想法是,模擬器在這一點上仍然顯示啓動畫面,所以可能是由於應用程序沒有完全創建在這一點?

任何想法?

回答

0

這很可能是因爲你的申請不是Loaded呢。

檢查this問題和接受的答案。

基本上,它建議綁定(通過交互行爲EventTrigger)您的視圖模型的Loaded事件的命令。

然後,您應該將導航置於該命令中。