我决定在MonoDroid和MonoTouch中稍微涉足一下,并将我的一个WP7应用程序作为入门者。我真的想重用我现有的ViewModels,但由于Android和iOS似乎都没有XAML强大的数据绑定,我想问一下之前是否有人走过这条路线,可以推荐一些最佳实践或现有解决方案。
答案 0 :(得分:5)
我们现在正在使用应用程序执行此操作,但首先为iOS编写(甚至在Windows之前)。它肯定没有充满彩虹和小马。
我会推荐以下内容:
#if iPhone
指令执行此操作。 INotifyPropertyChanged或ICommand就是例子。#if iPhone
和#if Android
语句成为可能。我知道你正在使用现有的应用程序,所以很难。重用您的业务模型可能更简单,就是这样。 Android和iOS都有自己的MVC模式,与WPF截然不同。您可能还需要移动设备上每个ViewModel的子集,这样可以更容易地重写。
在我们的案例中:
答案 1 :(得分:3)
我最近完成了一个大型项目,我们首先编写了wp7,然后将其移植到touch和droid中。
作为其中的一部分,我们发布了我们自己的mvvm框架 - 包括对touch和droid的一些数据绑定支持 - 来源可在http://github.com/slodge/mvvmcross获得
移植到droid的经验很好 - axml布局文件为数据绑定提供了一个很好的钩子。然而,目前我对触摸实现的绑定并不满意 - 尽管montouch.dialog有时至少为我们提供了一些漂亮的代码。