我正在寻找一个示例或文档来处理当前mvvmcross版本中的片段。我发现了很多关于旧版本的信息,但我很困惑我现在应该如何实现它。
到目前为止,我发现的最佳信息在本文中: here
但是它已经超过一年了,我认为已经有了更新/更好的方法。
我想要的是拥有一个Activity(如在SPA中或拥有MainView),此活动应该包含一个或两个片段,并且在按钮上单击我想导航/更改为不同的片段和当前的片段导航背板。或者是否建议仅使用导航活动而不实施SPA?
感谢您的帮助! 蒂莫
答案 0 :(得分:14)
在MvvmCross中使用片段的新方法是使用片段上的属性。
[MvxFragment(typeof(ActivityHostViewModel), Resource.Id.content_frame, true)]
public class HomeFragment : BaseFragment<HomeViewModel>
{
}
MvvmCross演示者将识别出这是一个片段,并将其显示在附加到主机视图模型的主机活动中。
要在演示者中支持片段,您需要将以下内容添加到setup.cs
protected override IMvxAndroidViewPresenter CreateViewPresenter()
{
var mvxFragmentsPresenter = new MvxFragmentsPresenter(AndroidViewAssemblies);
Mvx.RegisterSingleton<IMvxAndroidViewPresenter>(mvxFragmentsPresenter);
return mvxFragmentsPresenter;
}
此处提供完整示例:https://github.com/MvvmCross/MvvmCross/tree/develop/TestProjects/Android-Support/Fragments