Version: 2019.2
USS 编写样式表
分发事件

事件系统

UIElements 包括一个可将用户交互传递到视觉元素的事件系统。受 HTML 事件的启发,UIElements 事件系统拥有许多相同的术语和事件命名方式。UlElement 事件系统包含:

  • 事件分发程序:UIElements 监听来自操作系统或脚本的事件,并使用事件分发程序分发这些事件。事件分发程序还会确定将事件发送到视觉元素和其他支持类的分发策略。
  • 事件处理程序:当事件发生在面板内时,事件将发送到面板中的 VisualElement 树。可以向视觉元素添加事件处理程序,从而在发生事件时响应某些事件类型。请参阅事件响应
  • 事件合成程序:操作系统并非事件的唯一来源。脚本也可以通过分发程序创建和分发事件。请参阅合成事件以了解有关创建和分发事件的更多信息。
  • 事件类型:根据 EventBase 将不同的事件类型组织成一个层级视图,并将其分组为不同的系列。每个事件系列都实现了一个接口;该接口定义了同一系列的所有事件的共同特征。例如,MouseUpEventMouseDownEvent 和其他鼠标事件实现了 IMouseEvent 接口。此接口指定每个鼠标事件都有一个位置、一个按下的按钮、一组修改器和其他与鼠标相关的事件类型。请参阅事件类型参考以了解有关每个事件系列及其 UIElement 事件类型的描述。

还可以使用事件将其他类型的消息传递给视觉元素。例如,ContextualMenuManager 使用 ContextualMenuPopulateEvent 将菜单项添加到上下文菜单。请参阅内置控件


  • 2018–11–02 页面已修订
USS 编写样式表
分发事件