如何在 C++ 的 WinUI3 中获取控件的句柄?

How to get a control's handle in WinUI3 in C++?

我正在处理一个 C++ WinUI3 项目并遇到了这个问题。如何获取 XAML 网格的句柄?

QT中类似这样的东西可以实现:

HWND m_hWnd;

m_hWnd = (HWND)(ui.label->winId());

但是我在WinUI3中找不到类似的东西。 我在互联网上查找,但只找到 C# 中的这个解决方案:

Get-a-controls-handle-in-XAML

Microsoft 提供了此功能,但它仅适用于 window 句柄,不适用于 XAML 控件。

Retrieve a window handle (HWND)

有人可以帮我吗?任何建议都会很棒!

How do I obtain the handle of a XAML grid?

你不能,因为有 none。

屏幕上的所有 XAML 控件最终都由属于父级 window 的单个 HWND 支持,即单个控件在 Win 中没有自己的句柄 UI.

只有一个 top-level 句柄,控件呈现为此 HWND 中的内容。