是否应该在停用时调用 WhenActivated?

Is WhenActivated supposed to be called on deactivation?

我已经实现了 ISupportsActivation 并为视图模型和视图添加了对 this.WhenActivated 的调用。在我看来,委托被调用了两次。用于激活和停用。这是设计使然还是我做错了什么?如果这是设计使然,有什么方法可以知道调用是用于激活还是停用?

视图模型是数据绑定到 ViewModelHost 如果这在任何方面都很重要。

我知道有一种情况会发生,那就是如果您使用 RoutedViewHostViewModelViewHost。据报告 here and there,当切换视图内容时,old/previous 视图模型被停用-重新激活-(动画)-停用。

然后你在 WhenActivated 上接到了电话。

这显然是一个错误,它是由 TransitioningContentControl 的实现引起的。