2013-03-02 99 views
0

我有一个WinForm,其中包含一个elementHost来包含一个WPF UserControl。我需要的是当鼠标进入元素主机而不是孩子时做某事。我试图在elementHost中使用MouseEnter事件,但它不存在。我有这个机会吗?或者它是不可能的?对于没有鼠标事件很好奇。Winform ElementHost中的MouseEnter事件

这是我所有的事件:

enter image description here

如果我想以编程方式做,我只是不具有任何的MouseEvent:

enter image description here

+1

它存在但它是隐藏的。因为它永远不会工作,所以WPF元素获取鼠标消息。 – 2013-03-10 02:47:42

+0

我试图转换elementhost来控制。然后我创建活动。我成功了,但它永远不会起火。似乎唯一的办法是你说。捕捉鼠标直接进入elementhost子项(usercontrol)。 – Andres 2013-03-10 22:03:13

回答

2

MouseEnter事件位于HostContainer elementHost,用于检测鼠标输入时试试以下代码:

public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      elementHost1.HostContainer.MouseEnter += new System.Windows.Input.MouseEventHandler(HostContainer_MouseEnter); 
     } 
     void HostContainer_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e) 
     { 
      MessageBox.Show("Mouse entered"); 
     } 

    }