2

MVVMCross ベースのアプリには、アプリの機能を使用する前に、ユーザーが最初に使用するときに通過する必要がある登録フローがあります。

現在、最初の ViewModel の Init() 内から登録ビューをポップアップしていますが、これはぎこちなく感じます。

 public class HomeViewModel: MvxViewModel{
   public void Init(){
        if (!RegistrationComplete){
           ShowViewModel<RegisterViewModel>();
        }
    }
  }

上記の代わりに、RegistrationViewModel を AppStart として設定し、アプリの開始を HomeViewModel に「スワップ」することを検討しましたが、この「スワップ」を達成する方法を特定できません。

mvvmcross で型の動作を継続するために、このレジスタを達成するための推奨される方法は何ですか?

4

1 に答える 1

3

これを行う 1 つの方法は、 https://github.com/MvvmCross/MvvmCross/wiki/Customising-using-App-and-Setup#custom-imvxappstartで紹介されています

オブジェクトを使用しCustomAppStartます:

public class CustomAppStart
    : MvxNavigatingObject
    , IMvxAppStart
{
    public void Start(object hint = null)
    {
        var auth = Mvx.Resolve<IAuth>();
        if (auth.Check())
        {
            ShowViewModel<HomeViewModel>();
        }
        else
        {
            ShowViewModel<LoginViewModel>();
        }
    }
}

これは app.cs に次のように登録されます。

RegisterAppStart(new CustomAppStart());
于 2013-11-06T08:14:42.577 に答える