1

我将开发一个 C#/WPF 应用程序,将于 2020 年 2 月发布,我希望它有一个现代的用户界面。术语“现代用户界面”可以理解为由包含来自 Microsoft 的第一方 UWP 控件或 Windows Community Toolkit 控件的视图(即自定义控件)组成的用户界面。

为了实现这一点,我知道的最佳方法是使用最近发布的XAML Islands

我相信使用 XAML Islands 的先决条件是我必须:

  • 编写面向 .NET Core 3.0 的新应用程序
  • 按照此处的其他步骤设置我的项目/解决方案
  • 使用 WindowsXamlHost 控件包装我的 UWP 视图(最好包装放置在普通 WPF 视图中的单个 Microsoft 控件)
  • 以最低版本的 Windows 10 为目标

我相信我能够满足前三个先决条件。我不清楚的是所需的 Windows 10 的特定版本。

在此处的文档中,使用 WindowsXamlHost 控件的受支持的最低 Windows 10 版本被列为 1903 版。但是,该页面多次提到 XAML Islands 是开发人员预览版,但情况已不再如此,所以我有希望这个要求已经过时了。

如果您改为查看此处的 GitHub 页面,则支持的最低 Windows 10 版本被列为版本 1809。

对我来说,这种差异将成为我是否可以使用这种方法的决定因素。我能够保证用户拥有的 Windows 10 的最低版本是 1809。

那么,哪些文档页面是正确的?面向 .NET Core 3 的 WPF 应用程序能否在 Windows 10 1809 上运行时使用 XAML 岛?

4

1 回答 1

3

对 XAML 岛的支持最初是在Windows 1809的预览版中添加的。

然而,1903 是第一个稳定且官方支持的 Windows 版本,您可以在其中使用 XAML 岛在非 UWP 桌面应用程序中托管 UWP 控件,即官方文档是准确的。

您可能还想看看WinUI 3。这是对 Windows 10 原生 UI 平台的重大更新,目前微软开发者平台团队正在积极开发,计划于 2020 年发布。

它将现有的 UWP Xaml API 从 SDK 和操作系统中分离出来,并将它们发送到一个单独的 NuGet 包中,您可以从任何类型的 Windows 桌面应用程序(包括 WPF 和 Windows 窗体)中使用该包。

alpha 版本应与 Windows 10 版本 1803 及更高版本兼容。请注意,此版本仅用于早期评估,应用于生产应用程序。

于 2019-11-20T10:37:57.740 回答