【问题标题】:.NET MAUI - controller Handle address.NET MAUI - 控制器句柄地址
【发布时间】:2023-03-27 21:20:01
【问题描述】:

我已经开始使用 .NET MAUI 的最新 RC 版本。我希望迁移我拥有的 Windows 应用程序,因此以后它可能是多平台的。对于 Windows,我的应用程序需要获取控制器的句柄(然后传递给使用它的第 3 方库)。

在我的 WinForms 应用程序中,我通常会做类似IntPtr controlHandle = MyControl.Handle;

是否可以在 .NET MAUI 中获取控件的句柄?我记得过去检查 WPF 应用程序和所有控件返回主窗口句柄地址,但是有一种方法可以使用它自己的句柄创建一个新控件。 MAUI有这种可能性吗?

【问题讨论】:

  • 在该句柄上运行的第三方应用程序很可能不是跨平台的。
  • 我确定不是。但我猜测 MAUI 中必须有一种方法可以根据运行的操作系统有条件地运行代码。所以在 Windows 上它会使用那个库,而在 MacOS 上它会使用别的东西......
  • 我所知道的最接近特定平台的东西是handers。 docs.microsoft.com/en-us/dotnet/maui/user-interface/handlers/…

标签: c# winui-3 maui


【解决方案1】:

以防万一有人仍在试图解决这个问题。

        // Get the current window's HWND by passing in the Window object
        var hwnd = ((MauiWinUIWindow)App.Current.Windows[0].Handler.NativeView).WindowHandle;

参考: https://blog.verslu.is/maui/folder-picker-with-dotnet-maui/ https://devblogs.microsoft.com/oldnewthing/20190412-00/?p=102413

【讨论】:

    猜你喜欢
    • 2011-10-30
    • 1970-01-01
    • 2010-12-20
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多