在iPad上重用C#-Project

bas*_*sti 10 c# wpf ipad

我正在尝试将现有的C#-WPF-Project移植为iPad-App.

据我所知,最好的方法是使用MonoTouch并尽可能多地重用C#-Logic.

由于原始项目是用WPF编写的,用于实际的TabletPC,我的问题是,如果有任何办法,重用WPF源或至少最小化我必须再次编写的部分.

如果有任何MonoTouch的好选择,我会很感激提示:)

更新:您的评论很有帮助,但不是我想要的100%.MonoCross看起来很不错,但据我所知,它只是"隐藏"了iOS特定的部分.我真正喜欢的是一种重用手写的"特殊"WPF控件的方法.(或者至少最小化转移它们的工作/时间.)这将是非常棒的.

更新2:也许我应该补充一点,我也会接受一些"复杂的"三步技术.例如,有没有办法将XAML-WPF文件转换为HTML5(或同样强大的东西),然后使用TitaniumPhoneGap?语言和框架应该不是大问题,我只是想尽可能地找到一种方法来重用:)

Dr.*_*ABT 3

请参阅上一个问题,该问题与创建跨平台 iOS、Android 和 WP7 应用程序相关并且可能感兴趣。

回答你的问题,不,不可能在 iPad、iPhone、Android 上重复使用 WPF Guis。只有 Windows Phone 将支持 silverlight 视图。要解决此问题,您必须在所有三个架构上使用模型视图控制器架构(iOS、Android 不支持通过 MVVM 进行数据绑定),并为每个架构创建单独的视图。

虽然这听起来很费力,但请注意,如果您正确构建应用程序,以便关键业务逻辑和表示逻辑位于控制器(或服务)层内,那么您可以重用大部分代码。这与您创建跨平台代码以双重部署到 Windows 上的 Silverlight 和 WPF 具有相同的限制。Xaml 文件通常必须特定于每个框架,但 *.cs 用户控件和视图模型/代码逻辑通常可以共享。


更新:按照您的相关更新(2)。

是的,您可以使用第三方服务器将 XAML-WPF 文件转换为 HTML5 - ComponentArt 仪表板服务器。该公司声称将使用严格的 MVVM 编写的 WPF/Silverlight 应用程序转换为 HTML5/JS,以实现跨多个设备的可移植性。我无法保证这有多有效,而且我确实知道它很昂贵,但是如果您严重陷入困境并且想要移植 WPF -> HTML5,那么值得研究一下。

此致,