有没有办法在对象过期时得到通知



我在MSProject的VSTO加载项中很难在项目实际关闭时执行操作。我知道有一个BeforeClose事件,但这没有帮助,因为在那之后有一个Y/N/C对话框,可以停止关闭。此外,与Excel和Word不同,ProjectClass没有像其他地方建议的那样提供Close((事件。

我现在的想法是将打开的项目存储在ObservableCollection中,并在其ChangeEvent((中检查哪个项目已关闭。但不幸的是,当ProjectClass过期时,ChangeEvent没有被调用,因为它已经关闭,并且引用被设置为null。

我已经想到了一个自定义的ObservableCollection,它通过计时器定期检查空引用,但在我看来,这非常糟糕。

有人有什么想法吗?

尝试WindowActivate事件,该事件应在项目关闭时激发,因为另一个窗口随后会变为活动状态。跟踪哪些项目处于打开状态,然后在每个WindowActivate事件之后进行比较,以查看是否有任何项目不再处于打开状态。

相关内容

  • 没有找到相关文章

最新更新