C# caliburn中加载的OnViewLoaded只调用一次

C# caliburn中加载的OnViewLoaded只调用一次,c#,.net,wpf,caliburn,C#,.net,Wpf,Caliburn,我有几个屏幕的任务列表。 如果我打开1号屏幕,切换到2号屏幕,然后返回1号屏幕。 在我第二次打开1号屏幕时,不会调用OnViewLoaded 知道发生的原因吗?OnViewLoaded仅在视图(第一次)加载到内存中时调用 阅读caliburn文档: OnViewLoaded–由于Screen实现了IViewAware,它借此机会让您知道何时触发视图的Loaded事件。如果您遵循SupervisingController或被动查看样式,并且需要使用视图,请使用此选项。这也是放置视图模型逻辑的地方,

我有几个屏幕的任务列表。 如果我打开1号屏幕,切换到2号屏幕,然后返回1号屏幕。 在我第二次打开1号屏幕时,不会调用OnViewLoaded


知道发生的原因吗?

OnViewLoaded仅在视图(第一次)加载到内存中时调用

阅读caliburn文档:


OnViewLoaded–由于Screen实现了IViewAware,它借此机会让您知道何时触发视图的Loaded事件。如果您遵循SupervisingController或被动查看样式,并且需要使用视图,请使用此选项。这也是放置视图模型逻辑的地方,视图模型逻辑可能依赖于视图的存在,即使您可能没有直接使用视图。

OnViewLoaded仅在您的视图(第一次)加载到内存中时调用。因此,只有一个事件OnViewLoaded。如果你想捕捉窗口是否在前面,你可以测试窗口是否有焦点(例如)。我们努力回答。。。。。。。。