classType参数的用途是什么:
open
来自msdn:“声明类处理的类的类型。”
但这似乎仍然有些模糊。
public static void RegisterClassHandler(Type classType, RoutedEvent routedEvent, Delegate handler);
我认为第一个处理程序最接近类声明处理程序。但是在按钮上添加第二个处理程序似乎也有效?什么是正确的方法呢?对于Mouse.MouseDownEvent,还可以在完全不相关的类中的按钮上添加处理程序吗?
答案 0 :(得分:0)
当classType(或derivedType)的实例位于RoutedEvent的路由上时,RegisterClassHandler中的classType参数用于调用类处理程序。
例如,在以下代码中的Window实例上处理ButtonBase.ClickEvent:
EventManager.RegisterClassHandler(typeof(Window), ButtonBase.ClickEvent, Handler);
这就像在每个Window元素上添加(附加)处理程序一样:
<Window ButtonBase.Click="Handler">
因此classType不必是包含注册处理程序的代码的类。
处理程序中的发件人是classType的实例。