我开始假设Loaded
和Unloaded
事件保证会成对出现,但是我(除了我自己的代码中的错误)看到的行为表明那里& API中没有这样的保证。我没有在WPF文档中看到明确的保证,我似乎看到的最新行为是Loaded
可能会在任何Unloaded
被提升之前多次被提升。
除此之外,我已经意识到可能会完全跳过关机Unloaded
期间的行为。
如果Loaded
和Unloaded
未成对出现,我可以使用哪些事件,类似于 AddedToTree / RemovedFromTree ,那会成为一对吗?
背景: 我有一个内存数据模型(有向树)和一个UI可以订阅数据模型突变事件的数据总线。我正在寻找与WPF回调相关的正确时间来订阅和取消订阅我的数据模型突变事件。我 想要的是孤儿或卸载的控件是否会浪费响应突变的周期。是什么让回调"对"保证可取的是我能够在" init"类似的回调中假设我已经"追赶"要做,要完全/直接从数据模型中读取。