2

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

有任何想法吗?谢谢

4

1 回答 1

1

MSDN说:

当发生以下焦点更改时,不会引发 Enter 和 Leave 事件:

  • 从内部到外部的 WindowsFormsHost 控件。

  • 从外部到内部的 WindowsFormsHost 控件。

  • 在 WindowsFormsHost 控件之外。

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

因此,如果您希望触发离开和输入事件,则必须将其留给同一 WindowsFormsHost 中的另一个控件。这只能通过创建一个包含 datagridview 和另一个控件的用户控件来实现。

感觉就像一个黑客虽然。如果可以,请忍受它不受支持的事实。

于 2011-10-19T15:41:10.460 回答