在我的应用程序启动时,我测试了一些与其他系统的连接。我触发事件以获取视图模型通知此连接的状态。
我使用Catel TabControl
来显示我的观点。我将LoadTabItems
设置为"EagerLoading"
并在我的ViewModel中订阅方法InitializeAsync
中的事件。
问题是在创建所有视图模型之前触发了事件。如何在初始化所有视图模型以检查连接并触发事件时获得通知。
答案 0 :(得分:0)
我建议您创建一个名为 ConnectionManager 的服务或管理器。这将检查事件(因为这是一个长生命对象,可能在IoC容器中注册)。然后在您的虚拟机中,无论事件是否已被触发都无关紧要, ConnectionManager 将为您提供答案。
请记住,视图模型是短生命对象(一旦视图消失,它们就会消失)。如果您想维护状态,请使用经理/服务。