c# - 如何找到RichTextBox 的.Handle?

标签 c# .net wpf

在 winForms 中,我有 .Handle属性,如何获得 WPF 中的等效项?

我尝试使用 WindowInteropHelper但它不支持 RichTextBox,只支持 Window 类型。 提前致谢。

最佳答案

WPF 中的控件没有关联的 WinAPI 句柄,就像 WinForms 控件一样。 WPF 仅使用一个 WinAPI 窗口来处理来自操作系统的窗口消息,并将其封装在 Window 类实例中。您可以做的最好的事情是浏览控件的父级,直到找到一个 Window 并获得句柄。据我所知,这可能与 WindowInteropHeler 返回的句柄相同。

更新。 为了使这个答案更有用和开箱即用,这里有一些代码(虽然未经测试):

IntPtr hwnd = new WindowInteropHelper(Window.GetWindow(userControlRefernce)).Handle;

关于c# - 如何找到RichTextBox 的.Handle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9033570/

相关文章:

c# - FluentValidation、Validators 生命周期和使用 Validators 检查 Db

c# - 使用 Linq 按索引求和

c# - 在 WinRT 中使用 MVVM Light Toolkit 填充文本框的进度条

.net - 如何将位图存储在.NET的内存中?

c# - WPF MVVM 导航 View

c# - 当选择选项卡时,如何更改 TabControl 的 TabItem 标题上的图像?

c# - HiddenField.Value 在我的自定义控件内回发时是一个空字符串

c# - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'userlogins' 中为标识列插入显式值?

c# - 当为 null 或 Count = 0 时序列化 List<T> 属性

c# - 依赖属性绑定(bind)未更新