Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/cplusplus11/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.ios 在最初的非Xamarin.Forms项目中使用Xamarin.Forms_Xamarin.ios_Xamarin.android_Xamarin.forms - Fatal编程技术网

Xamarin.ios 在最初的非Xamarin.Forms项目中使用Xamarin.Forms

Xamarin.ios 在最初的非Xamarin.Forms项目中使用Xamarin.Forms,xamarin.ios,xamarin.android,xamarin.forms,Xamarin.ios,Xamarin.android,Xamarin.forms,我继承了一个应用程序的维护和开发,该应用程序最初是在没有Xamarin.Forms的情况下编写的,,通过平台特定的项目和我的业务逻辑的共享项目,以传统方式为Android和iOS做UI层 考虑到大多数应用程序屏幕都相当简单,而且我花了大量时间与特定于平台的UI代码争论不休,我想问一下,在一个最初不使用Xamarin.Forms的项目中,是否有人有集成Xamarin.Forms的经验 我想知道是否可以用Xamarin.Forms替换特定的屏幕,也许可以在特定的Android活动或iOS屏幕中手动托

我继承了一个应用程序的维护和开发,该应用程序最初是在没有Xamarin.Forms的情况下编写的,,通过平台特定的项目和我的业务逻辑的共享项目,以传统方式为Android和iOS做UI层

考虑到大多数应用程序屏幕都相当简单,而且我花了大量时间与特定于平台的UI代码争论不休,我想问一下,在一个最初不使用Xamarin.Forms的项目中,是否有人有集成Xamarin.Forms的经验

我想知道是否可以用Xamarin.Forms替换特定的屏幕,也许可以在特定的Android活动或iOS屏幕中手动托管它们

我想首先将下一个功能屏幕集成为一个共享的Xamarin.Forms“页面”


以前有人做过类似的事情吗?

我们做过这样的事情,是因为重新设计了应用程序。我们已经开发了带有MvvmCross和本机UI的应用程序,并转移到了Xamarin.Forms。我们扔掉了所有视图,但保留了ViewModels。这意味着:如果UI层与ViewModel层分离(使用数据绑定),那么完全切换应该很容易

我不建议将表单和本机活动/视图控制器混为一谈,因为正确处理导航可能会很痛苦(尤其是在android下)。如果一个屏幕上有复杂的内容,则应使用自定义渲染器将其移动到自定义元素中

对于混合,有两个极简主义的例子:


有趣的问题。我最近做了相反的事情,在表单中重新创建了非表单应用程序的所有简单屏幕,并将更复杂的屏幕附加为自定义渲染器。这对你来说是一个选项吗?目前总体重构不是一个选项,但是滚动重构是一个选项。这就是为什么我想在XF中实现简单的新添加,而不是原生的。我们说的是一种简单的listview-with-a-searchbox-and-button。屏幕之间并没有以任何复杂的方式进行真正的交互。遗憾的是,该应用程序远没有像意大利面条代码所能接受的那样实现正确的MVC/MVVM。在我的例子中,主应用程序实际上只是一个调用其他活动的中心,这些活动与应用程序的其余部分几乎没有交互。当然,这一切都不复杂,这就是为什么XF会成为首选的原因。如果您的页面是真正独立的,那么它可能会工作。