[c#] 我应该创建一个新的方法来处理事件或重写基本方法吗?



Answers

Question

我在使用C#编写UWP程序时,使用了从UIElement类派生的类,在这里我想包括处理输入控件,如鼠标和键盘操作。 现在我看到已经有了说OnSomeEvent()虚方法,显然我可以重写这些方法来适应我的处理过程,或者我可以创建一个处理基类中定义的公共事件的新方法 ,并将它们订阅到这些输入事件中构造函数。 我认为这两种方法都有效,但是我希望知道哪种方法更专业或者更明智,以及为什么。 这也有助于解释MS为什么同时提供这两种方式。

以下是UIElement类的事件和方法https://msdn.microsoft.com/en-us/library/system.windows.uielement(v=vs.110).aspx#Examples

和一段引用

UIElement为元素布局特性提供了一个起点,同时也暴露了派生类可以重载的虚方法,这些方法会影响元素及其子元素的布局渲染行为。 一般元素的输入和聚焦行为的大部分也在UIElement类中定义。 这包括键盘,鼠标和手写笔输入事件以及相关的状态属性。 其中许多事件都是路由事件,许多与输入有关的事件都具有冒泡路由版本以及事件的隧道版本。 这些配对事件通常是控制作者最感兴趣的事件。




Related