我有一个需要Winform事件工作的复杂系统。不过,我想添加WPF元素。所以我需要将所有WPF事件映射到它们的winform对象。例如。我有这个方法来转换我派生的ElementHost类中的MouseMove事件。将WPF事件映射到Windows窗体事件
private void Child_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
Point point = e.GetPosition(null);
System.Windows.Forms.MouseEventArgs eventArgs =
new System.Windows.Forms.MouseEventArgs
(System.Windows.Forms.MouseButtons.Left, 0, (int)point.X, (int)point.Y, 0);
OnMouseMove(eventArgs);
}
注System.Windows.Input.MouseEventArgs(WPF)和System.Windows.Forms.MouseEventArgs(的Winforms)之间的差。
问题是有太多的事件需要用这种方式进行映射。如果不为每个事件编写我自己的映射方法,是否有可能实现这一点?
你想实现什么? – Tigran 2011-12-22 15:01:54
你为什么需要将它们全部映射出来? – Adam 2011-12-22 15:07:54
ElementHost实现了OnMouseMove,你需要什么不在那里实现? – MBirchmeier 2011-12-22 15:09:59