我决定尝试一下MonoDroid和MonoTouch,并将我的WP7应用程序作为起点进行移植。我非常希望能够重用现有的ViewModels,但由于Android和iOS似乎没有像XAML那样强大的数据绑定,因此我想问一下是否有人走过这条路,并能推荐一些最佳实践或现有解决方案。
我决定尝试一下MonoDroid和MonoTouch,并将我的WP7应用程序作为起点进行移植。我非常希望能够重用现有的ViewModels,但由于Android和iOS似乎没有像XAML那样强大的数据绑定,因此我想问一下是否有人走过这条路,并能推荐一些最佳实践或现有解决方案。
我现在正在使用一个应用程序进行这项工作,但首先要为iOS编写(甚至比Windows更早)。毫无疑问,这并不是充满彩虹和小马的。
我建议以下操作:
#if iPhone
指令来实现。其中,INotifyPropertyChanged或ICommand是例子。#if iPhone
和#if Android
语句成为可能。我最近完成了一个大型项目,我们先写了wp7版本,然后移植到了触摸屏和Android上。
作为其中的一部分,我们发布了自己的mvvm框架,包括一些用于触摸屏和Android的数据绑定支持。源代码可在http://github.com/slodge/mvvmcross找到。
将项目移植到Android的经验很好,axml布局文件为数据绑定提供了良好的钩子。然而,目前我对触摸屏所实现的绑定并不完全满意,尽管montouch.dialog有时提供给我们一些看起来不错的代码。