事件不触发时托管DataGridView在Winforms主机

本文关键字:DataGridView Winforms 主机 事件 | 更新日期: 2023-09-27 18:11:58

我试图在WPF用户控件中托管Datagridview。datagridview被添加到构造函数中的winformshost中,并连接了Enter和Leave事件。Enter事件在网格第一次获得焦点时触发,但随后不会触发,并且永远不会触发leave事件。

任何想法?由于

事件不触发时托管DataGridView在Winforms主机

MSDN显示:

当以下焦点发生更改时,不会引发

Enter和Leave事件发生:

  • 从内部到外部的WindowsFormsHost控件

  • 从外部到内部的WindowsFormsHost控件

  • 在WindowsFormsHost控件之外

  • 从托管在WindowsFormsHost控件中的Windows窗体控件到托管在同一个WindowsFormsHost控件中的ElementHost控件

所以如果你想要离开和进入事件火,你必须离开到另一个控件在同一个WindowsFormsHost。这只能通过创建一个包含datagridview和另一个控件的用户控件来实现。

感觉像一个hack。