嗨MvvmXross / Xamarin开发者,

这更像是一个扩展MvvmCross的问题,而不是修复它中的错误 . 我只需要一些指示,这样我就能以正确的方式解决这个问题,而不是长时间在墙上敲我的头 .

我一直在使用Xamarin和MvvmCross开发一段时间,现在使用的是活动,主要是碎片 . 这完全没问题,但片段的生命周期管理(在我看来)很漂亮 .

我最近在一个纯Android项目上工作,并使用Flow并伴随Dagger . 这使得生命周期管理和自定义导航非常容易 .


Simple Flow explanation

流程的工作方式与一般意义上的片段(不是生命周期)非常相似 . 有一个带有“主视图”的活动,当需要导航时,库会替换该视图,并且还会跟踪导航事件的历史记录 .


我只为Flow创建了一个绑定库(我不需要Dagger提供的依赖注入),并从一个项目开始测试它 . 我有设置流程来接管我的主容器视图,一切都很好 . 我有一个定制的AndroidViewPresenter,它会检查并最终调用Flow的导航方法,所以我的导航仍然通过viewmodels在.Core项目中完成 .

我现在遇到的问题是使用视图进行BindingInflates,因此我可以利用MvvmCross已经拥有的绑定代码 . 每个流视图都必须从布局类型(相对,线性,框架)继承 . 我可以从定位器创建手动视图模型并将视图模型提供给视图,但我正在努力弄清楚如何绑定值以便它响应视图模型中更改的RaiseProperty .

我觉得羞于说解决方案不一定非常复杂,我只是想知道如何实现这一点,所以我可以开始在我想到的一些应用程序上测试它 .

任何帮助/指针都会受到赞赏 .