首页 > 解决方案 > Genexus Extensions SDK - 如何收听知识库对象焦点/选择?

问题描述

我刚开始使用 Genexus SDK 为平台做一些扩展。我正在测试可用的事件订阅系统:公开我发现的那些事件的类是: UIEvents GXEventsUIDocumentsEvents

就我而言,我需要在开发人员关注/选择 KB 中已打开的对象时触发一个事件,就像 Genexus 在您打开“属性”工具窗口时所做的那样,如果您更改您正在使用的对象另一个,它会使用当前对象信息自动更新 ToolWindow。

我注意到该类UIEvents有一个 event AfterOpenKBObject,但它只执行一次(在打开对象之后)。

是否可以实现类似于我描述的“属性”工具窗口的事件行为?

标签: sdkgenexus

解决方案


Properties 窗口实现此目的的方式是在 TrackSelection 服务中订阅 SelectionChanged 侦听器。

Guid myTrackingId = Guid.NewGuid();
UIServices.TrackSelection.Subscribe(myTrackingId, new MySelectionChangedTracker());

然后,当您希望停止接收选择更改事件时,请记住调用 unsubscribre。

UIServices.TrackSelection.Unsubscribe(myTrackingId);

推荐阅读