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

时间:2016-12-16 20:48:21

标签: visual-studio-2015 xamarin.forms xamarin.uwp

我有一个现有的Xamarin Forms应用程序,可以为Android和iOS构建。我想添加一个UWP目标,以便我可以看到该应用程序在Windows上的表现。我假设我可以这样做,而无需为Windows创建新的UI?

我在Windows 10上使用Visual Studio 2015。

1 个答案:

答案 0 :(得分:3)

您应该可以关注此Xamarin documentation page

旧xamarin.com链接old documentation page

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

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

    1. 右键点击项目>添加>参考并引用您的PCL或共享项目
    2. Referencing your shared project

      1. OnLaunched方法中修改 App.xaml.cs (模板中的第63行):
      2.     // 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.xaml 中,将Page代码更改为forms:WindowsPage

        4. MainPage.xaml.cs 中删除Page的继承,使其成为public sealed partial class MainPage // REMOVE ": Page"

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

        6.     // below this existing line
              this.InitializeComponent();
              // add this line
              LoadApplication(new YOUR_NAMESPACE.App());
          

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

          还有一些已知问题:

          • 一些观点/页面的外观还没有最终确定有几个 导航周围的已知崩溃文本对齐可能不完美 一些标题