MVVMCross 以编程方式更改启动 ViewModel

2024-04-18

可移植类库定义了启动视图模型。这种情况听起来不错,但我正在考虑这一点。您编写了一个 iOS 通用应用程序或 Android 需要更改其开始屏幕/视图模型。如果应用程序是手机,则默认视图模型是登录,但如果应用程序是平板电脑,则需要不同的视图模型作为开始。有没有替代方法或方法来控制它?


请参阅维基部分 -https://github.com/MvvmCross/MvvmCross/wiki/Customising-using-App-and-Setup#custom-imvxappstart https://github.com/MvvmCross/MvvmCross/wiki/Customising-using-App-and-Setup#custom-imvxappstart- 这是一个编程切换的示例:


如果需要更高级的启动逻辑,则可以使用自定义应用程序启动 - 例如

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

然后可以使用以下方法在应用程序中注册:

RegisterAppStart(new CustomAppStart());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVVMCross 以编程方式更改启动 ViewModel 的相关文章

随机推荐