7

我有一个现有的 Xamarin Forms 应用程序,它设置为为 Android 和 iOS 构建。我想添加一个 UWP 目标,以便查看应用程序在 Windows 上的执行情况。我假设我可以做到这一点而不必为 Windows 创建新的 UI?

我在 Windows 10 上使用 Visual Studio 2015。

4

1 回答 1

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
  1. MainPage.xaml中删除Page标签中的所有内容,它应该是一个空Grid标签。

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

  3. 仍在MainPage.xamlPage中将标记更改为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());

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

还有几个已知问题:

  • 一些视图/页面的外观尚未最终确定 导航周围有几个已知的崩溃 某些标题中的文本对齐可能并不完美
于 2016-12-18T20:47:39.423 回答