WPF中的类级事件处理程序

4

你好,有人能解释一下WPF中的类级别事件处理程序吗?我在WPF中使用路由事件,但目前我正在阅读一本书,发现作者提到了类级别事件处理程序。这种技术的实际用途是什么?

类级别事件处理程序是指在类级别上定义和注册事件处理程序,而不是在实例级别上。这样做可以使多个实例共享同一个事件处理程序,从而节省内存和代码量。

类级别事件处理程序通常用于处理静态事件,例如应用程序启动时的初始化或全局异常处理。此外,它们还可用于为所有实例提供相同的默认行为。

1个回答

8

将类处理程序视为路由事件的静态事件处理程序。如果您想要处理所有鼠标按下事件而不涉及特定对象实例,可能需要注册此类处理程序。通常会在类的静态构造函数中注册它:

static MyWindow()
{
    EventManager.RegisterClassHandler(typeof(MyWindow), PreviewMouseLeftButtonDownEvent, new RoutedEventHandler(OnMouseLeftButtonDown));
}

相关文章:

http://msdn.microsoft.com/en-us/library/ms597875.aspx

http://karlshifflett.wordpress.com/2008/04/22/wpf-sample-series-eventmanagerregisterclasshandler/


第二个链接解释了一切!谢谢! - niao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接