Catel:ViewModel中InitializeAsync之后的Fire事件

时间:2016-02-16 06:52:04

标签: c# wpf mvvm catel

在我的应用程序启动时,我测试了一些与其他系统的连接。我触发事件以获取视图模型通知此连接的状态。

我使用Catel TabControl来显示我的观点。我将LoadTabItems设置为"EagerLoading"并在我的ViewModel中订阅方法InitializeAsync中的事件。

问题是在创建所有视图模型之前触发了事件。如何在初始化所有视图模型以检查连接并触发事件时获得通知。

1 个答案:

答案 0 :(得分:0)

我建议您创建一个名为 ConnectionManager 的服务或管理器。这将检查事件(因为这是一个长生命对象,可能在IoC容器中注册)。然后在您的虚拟机中,无论​​事件是否已被触发都无关紧要, ConnectionManager 将为您提供答案。

请记住,视图模型是短生命对象(一旦视图消失,它们就会消失)。如果您想维护状态,请使用经理/服务。