代码之家  ›  专栏  ›  技术社区  ›  Carlo

WPF的Control.FromHandle

  •  2
  • Carlo  · 技术社区  · 14 年前

    Control.FromHandle(IntPtr)
    

    用于WPF。这个方法对WinForms是可用的,所以我只是想知道WPF是否也有它。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Quartermeister    14 年前

    大多数WPF元素不创建hwnd,所以这通常只适用于像Window这样的顶级元素。你可以用 HwndSource.FromHwnd 获取PresentationSource,然后使用 RootVisual

    var rootVisual = HwndSource.FromHwnd(hWnd).RootVisual;
    

    WPF and Win32 Interoperation Overview 有关WPF如何使用HWNDs的更多详细信息:

    屏幕上的所有WPF元素都是 最终由HWND支持。当你 顶级HWND,并使用HwndSource 放置窗口及其WPF内容 单数HWND。菜单是个例外, 组合框下拉列表和其他 弹出窗口。这些元素创造了它们的 自己的顶层窗口,这就是 窗口的边缘HWND包含 WPF内的HWND,WPF通知Win32如何 相对于WPF窗口HWND。