事件系统
UIElements包括一个事件系统,将用户交互与可视元素进行通信。受HTML中的事件的启发,UIElements事件系统共享许多相同的术语和事件命名。UlElement 事件系统包含以下内容:
- 事件调度器(dispatcher):UIElements侦听来自操作系统或脚本,并使用事件调度器分发这些事件。事件调度器还会确定将事件发送到可视元素和其他支持类的分发策略。
- 事件处理器(handler):当事件发生在面板内时,事件将发送到面板中的VisualElement树。您可以向可视元素添加事件处理器,以便在事件发生时响应某些事件类型。请参阅响应事件。
- 事件合成器(synthesizer):操作系统不是唯一的事件来源。脚本还可以通过调度器创建和分发事件。有关创建和分发事件的更多信息,请参阅合成事件。
- 事件类型:不同的事件类型被组织为继承
EventBase
基类的层次结构,并按系列分组。每个系列的事件都实现了一个接口,该接口定义了同一系列的所有事件的共同特征。例如MouseUpEvent
,MouseDownEvent
和其他鼠标事件实现IMouseEvent
接口。此接口指定每个鼠标事件都有一个位置,一个按下按钮,一组修改器和其他与鼠标相关的事件类型。有关事件系列及其UIElement事件类型的说明,请参阅事件类型参考。
您还可以使用事件将其他类型的消息传递给可视元素。例如,ContextualMenuManager
使用ContextualMenuPopulateEvent
将条目添加到上下文菜单。请参阅内置控件。