该RequestRemoveBackStep()
方法是IMvxViewDispatcher
接口的成员,在某些平台上实现:
public interface IMvxViewDispatcher : IMvxMainThreadDispatcher
{
bool RequestNavigate(MvxShowViewModelRequest request);
bool RequestClose(IMvxViewModel whichViewModel);
bool RequestRemoveBackStep();
}
来自https://github.com/slodge/MvvmCross/blob/vnext/Cirrious/Cirrious.MvvmCross/Interfaces/Views/IMvxViewDispatcher.cs
然而,总是这样做并不完全简单......例如,在 Droid 上,它目前实现为:
public bool RequestRemoveBackStep()
{
// not supported on Android? Not sure how to do this currently...
return false;
}
来自https://github.com/slodge/MvvmCross/blob/vnext/Cirrious/Cirrious.MvvmCross.Droid/Views/MvxAndroidViewDispatcher.cs
记录了有关此功能的问题 - 例如https://github.com/slodge/MvvmCross/issues/80 - 但似乎此功能可能会从未来的 Mvx 实现中简单地删除 - 特别是因为它不是很容易做到每个平台上的每个视图。
如果您现在需要这种类型的功能,那么您需要找到自己的方式来实现此功能......取决于您的具体用例是什么(抱歉 - 我不清楚您当前用例的详细信息从问题)。
有几种可用的技术路线,包括:
- 使用
NoHistory
标志
- 使用
RequestClose(oldviewModel)
调用
- 将逻辑添加到您的
Presenter
- 使用 a
Messenger
请求视图关闭自己。