如何在显示窗口之前使WPF / MVVM应用程序进行后台处理?

时间:2013-01-21 23:47:06

标签: c# wpf mvvm

我对WPF& MVVM。我已经创建了几个标准的简单WPF / MVVM应用程序,它们显示启动屏幕并根据该主窗口中的命令进行处理,包括显示其他用户控件。

但是现在我想创建一个WPF / MVVM监视/输入收集应用程序,它在没有显示窗口的情况下启动,循环检查系统状态,直到条件需要窗口显示,并且只有THEN显示一个窗口,然后处理用户输入并返回循环。用户不会等待这个窗口,因为它只在需要用户注意的东西时显示。它将在后台“永远”运行,只在需要时显示。

我看到我可以创建自己的Main()方法,但我仍然无法找到将其保留在MVVM中的最佳方法,但只能在更大的循环中根据需要显示窗口。

谢谢!

编辑 - 我们最终做了理智的事情并制作了两个不同的流程,一个用于监控,一个用于执行WPFing。谢谢大家!

1 个答案:

答案 0 :(得分:1)

Windows服务似乎是进行监控的最佳方式。一旦需要用户交互,您就可以向“世界”的其他部分发出信号,表明发生了某些事情。

WPF客户端可以接收信号并显示UI。可以使用NotifyICon隐藏WPF客户端。

MVVM仅适用于WPF客户端。模型包含受监视的状态,viewmodel将其转换为视图模型,视图显示信息。

信号可以是由服务设置并由WPF客户端测试的Mutex。可以使用WCF实现服务和客户端之间的通信。