我刚刚开始使用Genexus SDK为平台做一些扩展。我正在测试可用的事件订阅系统:我发现的公开这些事件的类是:UIEvents
、GXEvents
、UIDocumentsEvents
.
在我的例子中,当开发人员聚焦/选择知识库中已经打开的对象时,我需要触发一个事件,就像Genexus在拥有属性时所做的那样。工具窗口打开,如果你改变你正在使用的对象到另一个,它会自动更新工具窗口与当前对象的信息。
我注意到类UIEvents
有一个事件AfterOpenKBObject
,但它只执行一次(在对象打开后)。
是否有可能实现类似于"属性"的事件行为?我描述的工具窗口?
属性窗口实现此功能的方式是通过订阅TrackSelection服务中的SelectionChanged侦听器。
Guid myTrackingId = Guid.NewGuid();
UIServices.TrackSelection.Subscribe(myTrackingId, new MySelectionChangedTracker());
当您希望停止接收选择更改事件时,请记得调用退订。
UIServices.TrackSelection.Unsubscribe(myTrackingId);