C# WinUI 项目中的自定义 WinUI 3 C++/WinRT 控件

Custom WinUI 3 C++/WinRT Control in C# WinUI project

我正在尝试创建包含 XAML 控件的 WinUI C++/WinRT 组件,并将此自定义控件包含在 C# WinUI 3 项目中。这有可能吗?我还没有运气。如果可能的话,你能提供一些例子吗?

原因:

由于 WinUI 3 不提供媒体播放器我想制作这样的媒体播放器: https://github.com/asklar/WinAppSDK-MediaPlayer

编辑:

到目前为止我找到了 WinRT APIs not supported in .NET 5 or later。我在那里找到 Windows.UI.Xaml(此命名空间中的所有 类),这似乎是创建自定义 c++/winrt 控件所必需的。阅读本文后,我假设无法使用自定义 C++/WinRT WinUI C# WinUI 项目中的控件。

示例:

这些是我创建项目的步骤。

  1. 创建 C# 库
  2. 创建 WinUI C++ 组件
  3. 根据 MS 文档和示例进行相应设置
  4. 将 WindowsSdk 引用添加到库项目
  5. 向 C++ 项目添加自定义控件

我发现可以在 WinUI C++/WinRT 项目中使用自定义 C# WinUI contron,这对我来说似乎是可行的。

应该通过将 Windows App SDK 更新到 1.1.0-preview2 来解决问题。 post.

中的更多信息