将一个WPF应用程序转移到移动c#平台

9

我想知道将我的应用程序转换为适用于移动设备的版本,并将其放入安卓手机中的最简单方法。任何帮助和指导都将不胜感激。

2个回答

5
Xamarin - 这是最好的方法。使用 C# 保持您的代码,并具有大量的代码重用。
假设您使用 MVVM 设计模式开发了 WPF 应用程序,那么将其移植到 Android 可能并不难。您只需要确保所有非 UI 代码可移植(即它使用可移植类库可用的 .Net 框架子集),并将任何特定于设备的内容移动到 Android 库中。如果您一直在使用依赖注入 / IoC,则这应该相对简单。
Xamarin 的另一个选择是 Xamarin.Forms。与 WPF 类似,您可以在 Xaml 中定义 UI,并且有来自大型控件供应商(如 DevExpress)的控件可用。Xamarin.Forms 的输出是跨平台应用程序,因此将在 Android、iOS 和 UWP 上运行,具体取决于您需要使用哪些平台特定功能 - 并且有大量的插件可帮助处理所有这些内容。
一旦您在可移植类库中拥有核心业务逻辑(MVVM 的 VM 和 M),那么您只需要在 Android 上编写 UI 层,然后从那里添加 iOS 或 UWP UI 层也不太困难。
另外,如果您正在使用 MVVM,那么您如何实现它?如果您正在使用 PRISM、MVVMCross 或 MVVMLight,则这些都支持 Xamarin 应用程序。

这里有一篇很好的博客文章,展示了如何做类似的事情:https://devblogs.microsoft.com/xamarin/porting-existing-net-apps-to-android/


我刚刚试过了,简直是一场噩梦。Xamarin远不如WPF好用。它会崩溃,有严重的错误和缺陷......按钮没有文本对齐(总是居中),复选框在iOS上会崩溃,没有弹出窗口或上下文菜单,有很多无法关闭的自动动画。真的,我不知道从哪里开始——问题太严重了。我们完成了这个应用程序,但我不能建议使用Xamarin。这是一个有缺陷、未维护的混乱! - kritzikratzi

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接