gpt4 book ai didi

c# - Mvvm交叉导航结构

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:30 25 4
gpt4 key购买 nike

我学习了大部分 MvvmCross 教程,我认为我已经准备好开始我的第一个 iOS 项目。然而,我在尝试实现导航结构的第一个小时内就陷入了困境。

这是我要实现的目标:

1) 当应用首次加载时,它需要显示一个带有登录和注册按钮的启动画面。2) 只有在登录或注册后,用户才能进入主视图。

我尝试使用 View 模型中的命令来执行此操作,例如:

//authentication code here...

ShowViewModel<MainViewModel>();

问题在于,当它导航到主视图时,用户可以按顶部的后退按钮返回登录屏幕,然后按后退按钮返回初始屏幕再次。

我找到的解决方案是使用 MainView 作为启动 View ,启动画面应该是它上面的一个面板,当用户通过身份验证时该面板变得不可见。但我不知道这是否是这种情况下的常见做法。

谢谢!

最佳答案

您可以进入 App 类并更改应用启动后加载的 View 模型。

public class App : Cirrious.MvvmCross.ViewModels.MvxApplication
{
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();

Globals.Init().Wait();

if (Globals.HasCredentials())
{
RegisterAppStart<ViewModels.DispatchListViewModel>();
}
else
{
RegisterAppStart<ViewModels.WelcomeViewModel>();
}
}
}

关于c# - Mvvm交叉导航结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20086475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com