【发布时间】:2011-10-19 15:16:39
【问题描述】:
我试图在 WPF 用户控件中托管 Datagridview。 datagridview 被添加到构造函数中的 winformshost 中,并且连接了 Enter 和 Leave 事件。 Enter 事件会在网格第一次获得焦点时触发,但随后不会触发,并且永远不会触发 leave 事件。
有什么想法吗? 谢谢
【问题讨论】:
标签: c# wpf winforms datagridview winforms-interop
我试图在 WPF 用户控件中托管 Datagridview。 datagridview 被添加到构造函数中的 winformshost 中,并且连接了 Enter 和 Leave 事件。 Enter 事件会在网格第一次获得焦点时触发,但随后不会触发,并且永远不会触发 leave 事件。
有什么想法吗? 谢谢
【问题讨论】:
标签: c# wpf winforms datagridview winforms-interop
MSDN 说:
当以下焦点发生变化时,不会引发 Enter 和 Leave 事件 发生:
从 WindowsFormsHost 控件的内部到外部。
从 WindowsFormsHost 控件的外部到内部。
在 WindowsFormsHost 控件之外。
从托管在 WindowsFormsHost 控件中的 Windows 窗体控件到托管在同一 WindowsFormsHost 中的 ElementHost 控件。
因此,如果您希望触发离开和输入事件,则必须将其留给同一 WindowsFormsHost 中的另一个控件。这只能通过创建一个包含 datagridview 和另一个控件的用户控件来实现。
虽然感觉像个黑客。如果可以,请忍受它不受支持的事实。
【讨论】: