派生类应该处理基类的事件吗? (C#/ WPF)

时间:2010-08-13 08:02:52

标签: c# wpf events event-handling

我正在创建一个派生自WPF RichTextBox控件的类,我需要在复制和粘贴事件中执行一些代码。

我理解,只要有可能,最好通过覆盖引发事件的基类方法在派生类中实现基于事件的代码。但是,在这种情况下不存在这样的方法,因此我的派生类可以为其自己的基类事件添加事件处理程序吗?

如果我确实添加了一个事件处理程序,我认为在处理控件时应该明确删除它。但是,我不确定在RichTextBox的情况下如何最好地执行此操作,因为WPF控件类似乎没有任何检测处理的机制。

有什么建议吗?

谢谢, 添

1 个答案:

答案 0 :(得分:4)

当然,您可以处理基类的事件。例如,它通常用于Loaded事件,因为没有OnLoaded方法。

您无需担心删除处理程序:由于事件发布者和订阅者是同一个实例,因此不删除处理程序不会阻止GC收集您的对象。