我有一個使用WindowsFormsHost控件託管Windows.Forms控件的WPF應用程序。WindowsFormsHost中的MouseWheel事件
我試圖實現MouseWheel事件 - 但似乎MouseWheel事件從未解僱。
是否有解決此問題的方法?
我有一個使用WindowsFormsHost控件託管Windows.Forms控件的WPF應用程序。WindowsFormsHost中的MouseWheel事件
我試圖實現MouseWheel事件 - 但似乎MouseWheel事件從未解僱。
是否有解決此問題的方法?
解決方法是使用事件MouseEnter。
假設你在WindowsFormHost
在XAML
<WindowsFormsHost Height="100" Name="windowsFormsHost1" Width="200" />
有一個winform標籤在C#
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Text = "Hallo";`
label.MouseEnter += new EventHandler(label_MouseEnter);
label.MouseWheel += new System.Windows.Forms.MouseEventHandler(label_MouseWheel);
windowsFormsHost1.Child = label;
.....
void label_MouseEnter(object sender, EventArgs e)
{
(sender as System.Windows.Forms.Label).Focus();
}
void label_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
(sender as System.Windows.Forms.Label).BackColor = System.Drawing.Color.Red;
}
現在MouseWheel應該工作(標籤應該改變顏色)
有一件事我會添加... 如果WindowsFormsHost的一個孩子是Windows.Forms元素,那麼這個鏈接有幫助。
http://vastpark-svn.cvsdude.com/public/trunk/src/Sample.Client/WPFInputSource.cs
爲什麼即時發佈,也是我正在尋找一個解決方案,發現..所以我想這可能是在未來有幫助的人。 無論如何,首先感謝您在這裏詢問^^
您是否在嘗試將鼠標轉過來之前首次嘗試對焦控件? – 2012-03-21 15:06:28
我不明白?我應該在哪裏設置它?在c'tor?在WindowsFormsHost加載? - 你能提供一點代碼嗎? – 2012-03-21 15:36:30