我有以下的应用情况。 在启动时我想去“列表”视图模型作为启动视图模型/图。 但我希望用户能够返回到跳转选择“菜单”视图模型。 这将如何在MvvmCross办呢?
Answer 1:
如果你想支持WP7,那么导航将挣扎着从市场提交过程中得到 - 回流是WP7神圣。
这流程也不会做出太大的意义Android或iPhone用户要么...所以你可能会更好考虑替代UX流 - 你仍然可以有流动ListView->菜单 - > ...但你可以避开“ BACK”语法用户理解为BACK。
我想我会实现这种类型的UX为:
在启动时导航到ListView / ListViewModel正常。
目前一些方式 - 菜单,按钮或超链接 - 让用户导航到HomeView / HomeViewModel - 但要尽量使用“家”或“菜单”的比喻,而不是一个“回”之一 - “回指背”,尤其是在WP7。
在导航首页,设置在导航的标志“ClearTop” - 例如:
public IMvxCommand GoHomeCommand
{
get
{
return new MvxRelayCommand(RequestNavigate<HomeViewModel>(true));
}
}
这种“ClearTop”标志将被iOS和WP7被解释为清除导航回到堆栈一旦你达到首页。 然而,遗憾的是它并不完美目前Android中的工作 - 所以你需要做的事情在你的Android UI项目巧妙 - 例如,可能在某种程度上找到一种方法,使用“NoHistory”标志为特殊的起始的ListView /活动。
了解一下是否有这样做的其他方式。
文章来源: How to add an invisible ViewModel to the Navigation Stack in MvvmCross