如何将UWP目标添加到现有Xamarin Forms项目?

par*_*y72 5 xamarin.forms visual-studio-2015 xamarin.uwp

我有一个现有的Xamarin Forms应用程序,该应用程序设置为针对Android和iOS构建。我想添加一个UWP目标,以便了解该应用程序在Windows上的性能。我认为我可以这样做,而不必为Windows创建新的UI?

我正在Windows 10上使用Visual Studio 2015。

Ger*_*uis 8

您应该能够遵循此 Xamarin文档页面

旧 xamarin.com 链接旧文档页面

它由几个步骤组成,一切都在 Visual Studio 中,因为 Xamarin Studio 不支持 UWP:

  1. 将干净的 UWP 项目添加到您的解决方案。
  2. 将 Xamarin.Forms NuGet 包添加到你的 UWP 项目,确保版本与你的其他项目同步
  3. Build > Configuration Manager 下确保您的 UWP 项目正在构建和部署

构建和部署你的 UWP 应用

  1. 右键单击项目 > 添加 > 引用并引用您的 PCL 或共享项目

引用您的共享项目

  1. 在方法中编辑您的App.xaml.csOnLaunched(模板中的第 63 行左右)执行以下操作:
    // under this line
    rootFrame.NavigationFailed += OnNavigationFailed;
    // add this line
    Xamarin.Forms.Forms.Init (e); // requires the `e` parameter
Run Code Online (Sandbox Code Playgroud)
  1. MainPage.xaml 中删除Page标签中的所有内容,它应该是一个空Grid标签。

  2. 同样在MainPage.xaml 中添加这个命名空间:xmlns:forms="using:Xamarin.Forms.Platform.UWP"

  3. 仍在MainPage.xaml中将Page标记更改为forms:WindowsPage

  4. MainPage.xaml.cs 中删除继承Page所以它变成public sealed partial class MainPage // REMOVE ": Page"

  5. 仍然在MainPage.xaml.cs 中添加LoadApplication构造函数,如下所示:

    // below this existing line
    this.InitializeComponent();
    // add this line
    LoadApplication(new YOUR_NAMESPACE.App());
Run Code Online (Sandbox Code Playgroud)

另请注意,您必须提供图像等资源,并添加您可能已安装在其他项目(如您正在使用的插件)中的所有使用过的 NuGet 包。在后一种情况下,最好检查是否所有包都可用于 UWP。

还有几个已知问题:

  • 某些视图/页面的外观尚未最终确定 导航周围有几个已知的崩溃 某些标题中的文本对齐可能不完美