在iPad上重用C#-Project

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

就我现在发现的而言,最好的方法是使用MonoTouch并尽可能多地重用C#-Logic。

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

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

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

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

请参阅此前一个相关的问题 ,可能对创建跨平台的iOS,Android和WP7应用程序感兴趣。

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

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


更新:关注您的更新(2)

是的,您可以使用第三方服务器将XAML-WPF文件转换为HTML5 – ComponentArt Dashboard Server 。 这声称将使用严格MVVM编写的WPF / Silverlight应用程序转换为HTML5 / JS,以便跨多个设备进行移植。 我不能保证这是多么有效,我知道它很昂贵,但如果你严重卡住并想要移植WPF – > HTML5那么值得调查一下。

最好的祝福,