为什么在ShowViewModel <type>上序列化参数?</type>

时间:2014-05-08 09:47:35

标签: xamarin.ios xamarin.android xamarin viewmodel mvvmcross

在Mvvmcross中,如果要导航到另一个视图模型,请调用

ShowViewModel<T>();

在从MvxViewModel派生的viewmodel中。一切都很好,但我想知道为什么它会在你做以下事情时序列化和反序列化:

ShowViewModel<T>(new Person("firstname", "lastname"));

我很好,它当然是这样,我可以想出它为什么这样做的一些原因但是我想在这里详细说明,因为它也可以帮助其他人理解在较低层次内发生的事情MvvmCross。提前谢谢。

1 个答案:

答案 0 :(得分:4)

因为在Windows Phone和Android上,您无法在页面或活动之间传递任何内容。在Windows Phone上,您可以使用URL来提供页面,MvvmCross通过向其添加序列化参数来使用该页面。在Android上你有意图,你可以放置额外的字符串,bools等。所以它也序列化它,并在意图中添加额外的东西。

不确定它在iOS上是如何工作的,但这基本上就是为什么。如果您有更好的方法,我建议您提出拉动请求:)