2014-05-19 2 views
1

나는 사용자가 먼저 로그인해야하는 Android, iPhone, WinRT 및 WinPhone 용 응용 프로그램을 작성하고 있습니다 (초기 로그인 후에이 단계를 생략해야 할 수 있으므로 자격 증명을 저장할 수 있음).Mvvmcross를 사용하는 로그인 페이지

로그인보기 모델을 시작 페이지로 등록 할 수 있지만 사용자가 다시 로그인 할 때 로그인을 완료하면 다시 스택에서 제거해야합니다.

대신 FirstVM으로 이동하겠다고 결심했습니다. 이제 캐시 된 자격 증명이 있으면 Login VM으로 이동합니다. LoginVM은 Close를 호출하고 FirstVM에게 정상적으로 계속 진행될 수 있음을 알리는 메시지를 사용합니다.

나는 WinRT 응용 프로그램으로 초기 구현하고있어, 내가 두 번째 옵션을 가지고있는 두 가지 문제는 다음과 같습니다 -

  1. 로그인으로 이동하는 데 사용하는 좋은 이벤트가 없어 보입니다 FirstMV의 VM. 내가 있었다, 그래서 다음과 같이 시작은 확실한 선택이 될 것입니다, 그러나 이것은 탐색을 허용하지 않습니다 :

    public async override void Start() 
    { 
        base.Start(); 
        await Task.Delay(1); 
        ShowViewModel<LoginViewModel>();    
    } 
    

    더 나은 방법이 있어야합니다!

  2. LoginViewModel을 닫을 때 보낸 메시지는 FirstVM에서 수신하지만 WinRT는 처음으로 만든 FirstVM 대신 새로운 FirstVM을 만들고 해당 인스턴스로 이동합니다.

어쨌든이 모든 작업을 수행하는 데 더 좋은 방법이 있습니다.

감사

로스

답변

관련 문제