我有一個WPF應用程序,它接收來自第三方API的FrameworkElement
對象。FrameworkElement對象上的WPF MouseDown事件
我想在這些對象上註冊事件。
這可能嗎?這不工作:
public void DisplayControl(FrameworkElement control)
{
control.MouseEnter += new MouseEventHandler(Control_MouseEnter);
control.MouseDown += new MouseButtonEventHandler(Control_MouseDownFromElement);
VideoGrid.Children.Add(control);
}
void Control_MouseDownFromElement(object sender, EventArgs e)
{
lblOutput.Content = string.Format("Sender is: " + sender.ToString());
}
void Control_MouseEnter(object sender, EventArgs e)
{
(sender as FrameworkElement).Focus();
}
爲什麼這不工作?如果該控件已經是另一個控件的子控件,則不能將其添加到'VideoGrid'中。 – 2013-02-13 10:04:26
在這種情況下,控件是包含WinForm控件的WindowsFormsHost,然後DisplayControl接收它已經打包。該控件顯示正確,但不會觸發事件。 – ilansch 2013-02-13 10:09:40