[英]how to find .Handle of RichTextBox?
在winForms中,我具有.Handle属性,如何在WPF中获得与之等效的属性?
我尝试使用WindowInteropHelper,但它不支持RichTextBox
,仅支持Window
类型。 提前致谢。
WPF中的控件没有关联的WinAPI句柄,就像WinForms控件一样。 WPF仅使用一个WinAPI窗口来处理来自OS的窗口消息,并将其封装在Window类实例中。 最好的办法是在控件的父控件中导航,直到找到一个Window并获取该句柄为止。 据我了解,这可能与WindowInteropHeler返回的句柄相同。
UPD。 为了使这个答案更有用和开箱即用,这里有一些代码(虽然未测试):
IntPtr hwnd = new WindowInteropHelper(Window.GetWindow(userControlRefernce)).Handle;
RichTextBox
在WPF中没有HWND
句柄。 如果确实需要此句柄,则仍可以使用WindowsFormsIntegration
程序集从WinForms库使用RichTextBox
。
请记住,您始终可以使用Spy++
实用程序检查哪些元素具有或没有句柄。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.