【发布时间】:2016-03-20 13:13:10
【问题描述】:
我有一个在框架布局中托管片段的 Activity。如果我将显示的片段更改为另一个片段,则该片段不会添加到后退堆栈中,因此使用“后退”按钮将立即关闭应用程序而不是导航回来(FragmentManager.BackStackEntryCount 在 OnBackPressed 中始终为 0 ()-回调)。
在托管片段的“MainActivity”的 ViewModel 中,我通过 ShowViewModel-方法显示片段:
public class MainViewModel : MvxViewModel
{
public IMvxCommand ShowHomeCommand
{
get { return new MvxCommand(ShowHomeExecuted); }
}
private void ShowHomeExecuted()
{
ShowViewModel<HomeViewModel>();
}
}
片段类具有将 ViewModel 分配给主机活动的注释:
[MvxFragment(typeof(MainViewModel), Resource.Id.fragment_container)]
[Register("namespace.of.HomeFragment")]
我在我的设置类中使用默认的 AndroidViewPresenter:
protected override IMvxAndroidViewPresenter CreateViewPresenter()
{
var mvxFragmentsPresenter = new MvxFragmentsPresenter(AndroidViewAssemblies);
Mvx.RegisterSingleton<IMvxAndroidViewPresenter>(mvxFragmentsPresenter);
return mvxFragmentsPresenter;
}
我希望在 MvxFragment 属性或 MvxFragment 类中有一个参数“AddToBackstack”或类似参数,但没有这样的。 MvvmCross 4.0 中的新片段机制中是否遗漏了某些内容或当前不支持返回堆栈?
【问题讨论】:
标签: c# android xamarin mvvmcross