2016-11-24 3 views
1

Windows 10 IoT Mobile을 실행하는 장치 용 사내 응용 프로그램을 개발 중이므로 UWP를 사용합니다. Mvvm Light 툴킷을 사용하고 있습니다. 응용 프로그램은 사인 온할 사용자가 필요합니다 (아무 것도 없으며 단순히 로깅 목적으로 이름을 기록해야합니다). 따라서이 값이 저장된 설정을 통해 설정되지 않은 경우 응용 프로그램의 기본 ViewModel이 로그인 페이지로 이동합니다.Mvvm ViewModel의 생성자 내에서 내비게이션

Mvvm Light Navigation Service를 사용하여 문제가 발생했습니다. 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 질문 및 답변 허용.

기본적으로 뷰 모델의 Loaded 이벤트에 대한 명령을 (상호 동작 동작 EventTrigger) 바인딩 할 것을 제안합니다.

그런 다음 해당 명령에 탐색을 넣어야합니다.

관련 문제