sdk - Genexus Extensions SDK - 如何收听知识库对象焦点/选择?
问题描述
我刚开始使用 Genexus SDK 为平台做一些扩展。我正在测试可用的事件订阅系统:公开我发现的那些事件的类是:
UIEvents
GXEvents
和UIDocumentsEvents
。
就我而言,我需要在开发人员关注/选择 KB 中已打开的对象时触发一个事件,就像 Genexus 在您打开“属性”工具窗口时所做的那样,如果您更改您正在使用的对象另一个,它会使用当前对象信息自动更新 ToolWindow。
我注意到该类UIEvents
有一个 event AfterOpenKBObject
,但它只执行一次(在打开对象之后)。
是否可以实现类似于我描述的“属性”工具窗口的事件行为?
解决方案
Properties 窗口实现此目的的方式是在 TrackSelection 服务中订阅 SelectionChanged 侦听器。
Guid myTrackingId = Guid.NewGuid();
UIServices.TrackSelection.Subscribe(myTrackingId, new MySelectionChangedTracker());
然后,当您希望停止接收选择更改事件时,请记住调用 unsubscribre。
UIServices.TrackSelection.Unsubscribe(myTrackingId);
推荐阅读
- django - Django中的单元测试用例未执行
- pyserial - 如何从传入的串行端口数据创建动画图
- wordpress - 一页和多个不相关的网址?
- google-apps-script - “选择事件源”部分中缺少“来自表单”选项
- python - 在上下文管理器中修改 globals() 并在另一个文件中使用它
- python - 如何将部分代码包含到“产量”中?
- javascript - d3.js + GEOJSon 地图不显示
- angular - 带有身份验证令牌的 Angular bypassSecurityTrustResourceUrl
- node.js - 无法使用 npx 创建一个 Strapi 应用程序(尖锐模块问题,然后是 sqlite3 模块问题)
- html - CSS:样式表不反映更改