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

2023-11-27

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

我在 Windows 10 上使用 Visual Studio 2015。


您应该能够关注此 Xamarin文档页

旧的 xamarin.com 链接旧文档页面

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

  1. 将干净的 UWP 项目添加到您的解决方案中。
  2. 将 Xamarin.Forms NuGet 包添加到您的 UWP 项目,确保该版本与您的其他项目同步
  3. Under 构建 > 配置管理器确保您的 UWP 项目正在构建和部署

Building and deploying your UWP app

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

Referencing your shared project

  1. 编辑你的应用程序.xaml.cs in the OnLaunched方法(模板中第 63 行左右)执行以下操作:
    // under this line
    rootFrame.NavigationFailed += OnNavigationFailed;
    // add this line
    Xamarin.Forms.Forms.Init (e); // requires the `e` parameter
  1. In 主页.xaml删除其中的所有内容Page标签,它应该是空的Grid tag.

  2. 也在主页.xaml添加这个命名空间:xmlns:forms="using:Xamarin.Forms.Platform.UWP"

  3. 仍处于主页.xaml改变Page tag to forms:WindowsPage

  4. In the 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。

还有一些已知问题:

  • 一些视图/页面的外观尚未最终确定有几个 导航周围已知的崩溃文本对齐可能并不完美 一些标题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 UWP 目标添加到现有 Xamarin Forms 项目? 的相关文章

随机推荐

  • 使用 JDBC 连接到 SQL Server LocalDB

    是否可以使用 JDBC 连接到 SQL Server LocalDB 看起来 截至 2011 年 12 月 这是不可能的 您知道解决方法或状态更改吗 对的 这是可能的 使用 jTDS 的 LocalDB 实例的连接字符串如下所示 jdbc
  • Braintree - paymentMethodNonce 未收到调用

    我已经为 Braintree 设置了 dropin UI 我可以很好地看到用户界面 在此之前 我创建了客户 我可以在 Braintree sandbox 上看到该客户 现在我想向客户添加付款方式 我正在尝试以下代码 但 paymentMet
  • 用于验证文件夹名称和文件名的正则表达式

    我想验证文件名 文件或文件夹的名称不应包含 您能否建议我在 preg match 中使用的正则表达式 Thanks 使用该方法会更有效strpbrk 功能 if strpbrk filename lt gt FALSE filename i
  • 拆分列表并从子列表中求和?

    我正在为我的 Haskell 课程寻找解决方案 我有一个数字列表 我需要为列表的每个部分返回 SUM 部分除以 0 我需要使用 FOLDL 函数 Example 初始列表 1 2 3 0 3 4 0 5 2 1 子列表 1 2 3 3 4
  • 为什么 CROSS JOIN 条件在“ON”子句中不起作用,而仅在 WHERE 子句中起作用?

    我想知道为什么条件交叉联接必须具有 WHERE 子句中指定的条件 以及为什么它在 ON 子句中不起作用 请参阅编译示例的链接 http rextester com IKY8693 业务上下文 我需要生成开始日期和结束日期之间的日期列表 以便
  • 如何为不接受取消令牌的异步函数设置超时?

    我的网络请求是由这段代码处理的 Response await Client SendAsync Message HttpCompletionOption ResponseHeadersRead CToken 在读取响应标头之后 内容读取完成
  • 类型提示 - 指定对象数组

    如何将参数类型指定为数组 假设我有一个名为 Foo 的类 class Foo 然后我有一个接受该类类型作为参数的函数 function getFoo Foo f 当我传入一个 Foo 数组时 我收到一个错误 说 可捕获的致命错误 参数 1
  • Linux新手问题:GCC编译器输出

    我对 Linux 完全是个新手 我在笔记本电脑上安装了 Mint 最近一直在玩它 我写了一个简单的C程序并保存了文件 然后在命令行中我输入 gcc c myfile 然后弹出一个名为 a out 的文件 我天真地 在使用 Windows 多
  • 如何从 XML 反序列化抽象类的具体实现

    我有一个带有几个具体实现的抽象类 这需要序列化为 XML 才能发送到另一个系统 这工作正常 但是 我还需要能够反序列化相同的 XML 结构 无论我如何尝试 我似乎都无法做到这一点 我的班级结构如下 抽象类 XmlIncludeAttribu
  • 为什么 MAX() 比 ORDER BY ... LIMIT 1 慢 100 倍?

    我有一张桌子foo与 以及其他 20 个 列bar baz and quux索引打开baz and quux 该表有约 500k 行 为什么以下查询的速度差异如此之大 查询A需要0 3秒 而查询B需要28秒 Query A select b
  • 在 R 中读取空格分隔的数字

    我在 R 中有这个字符串 numbers lt 4 4956 1 00e 09 50 9 1 244 47 1 1 04 5 5 0 499 13 9 0 我应该将数字读入向量中 现在我可以找到其他语言的相同线程 但这里找不到 R 的线程
  • 如何将保存图像更改为文件默认名称?

    我有一个由 Caman js 创建的画布 HTML5 标签 当我在 FF 中单击右键并保存到文件时 文件的默认名称是 canvas png 由于我创建了很多文件并需要保存它们 这很不幸 因为我需要为每个文件设置不同的名称 我想要完成的是 当
  • 如何在 SQLExpress 文本字段中插入中文字符?

    如何在 SQLExpress 文本字段中插入中文字符 我使用的是 VS 2008 中的 SQL Express 当我添加中文字符时 无论是通过我编写的导入应用程序还是从 Visual Studio 内的数据视图粘贴它们 它们最终都会变成问号
  • View.OnClickListener() 函数或接口

    View OnClickListener 是函数还是接口 当我们尝试在 android 中设置 onclicklistener 方法时 我们使用 new View OnClickListener 据我所知 它让我感到烦恼 我们不需要初始化包
  • 回调函数的用处

    在 Javascript 中 可以定义一个函数 X 并将其作为参数传递给另一个函数 Y 这样的函数 X 称为callback function 您能否解释为什么在一些清晰的示例中使用回调函数很有用 例如发送一些带有演示的小提琴链接 我可以看
  • 根据文本区域的宽度计算文本大小

    我有一个文本应该设置为具有指定宽度的 TextView 它需要计算文本大小以适合 TextView 换句话说 有没有办法让文本适合 TextView 区域 就像 ImageView 比例类型功能一样 这应该是一个简单的解决方案 public
  • 如何使用 Objective-C++ 在 C++ 类中添加观察者到 NSNotificationCenter?

    我有一个 C 类 最近从 cpp 重命名为 mm 以支持 Objective C 所以我可以添加以下 Objective C 代码 NSNotificationCenter defaultCenter addObserver self se
  • 使用 Razor 的条件 HTML 属性

    变量 strCSSClass 通常有一个值 但有时为空 我不想在此输入元素的 HTML 中包含空的 class 这意味着如果 strCSSClass 为空 我根本不需要 class 属性 以下是执行条件 HTML 属性的一种方法
  • Spring@计划于每天凌晨 4:00 至 4:30 之间的随机分钟开始

    正如问题标题所述 我需要设置 Spring Scheduler 它将运行方法以每天凌晨 4 点左右将某些内容从数据库加载到内存中 问题是我有该服务器的多个实例 我不希望所有实例同时开始执行 因为它会减慢数据库的速度 所以我希望时间是 4 0
  • 如何将 UWP 目标添加到现有 Xamarin Forms 项目?

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