타사 API의 개체 인 FrameworkElement
을받는 WPF 응용 프로그램이 있습니다.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'에 추가 할 수 없습니다. –
이 특정 경우에 컨트롤은 WinForm 컨트롤을 포함하는 WindowsFormsHost이며 DisplayControl은 이미 래핑 된 것으로 나타납니다. 컨트롤이 제대로 표시되지만 이벤트는 발생하지 않습니다. – ilansch