2013-03-02 75 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"); 
     } 

    }