Genexus Extensions SDK - 如何收听知识库对象 Focus/Selection?

Genexus Extensions SDK - How to listen to Knowledge Base Object Focus/Selection?

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

在我的具体情况下,我需要在开发人员 focuses/selects 知识库中一个已经打开的对象时触发一个事件,就像 Genexus 在打开“属性”ToolWindow 时所做的那样,如果您更改您正在使用的对象,它会自动使用当前对象信息更新该 ToolWindow。

我注意到 class UIEvents 有一个事件 AfterOpenKBObject,但它只执行一次(在对象打开后)。

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

属性 window 实现此目的的方式是在 TrackSelection 服务中订阅为 SelectionChanged 侦听器。

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

那么当你想停止接收选择改变的事件时,记得调用取消订阅。

UIServices.TrackSelection.Unsubscribe(myTrackingId);