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

本文关键字:窗口 执行 处理 后台 显示 WPF 何使 MVVM 应用程序 | 更新日期: 2023-09-27 17:55:20

我对WPF和MVVM相当陌生。 我创建了几个标准的简单 WPF/MVVM 应用程序,这些应用程序显示启动屏幕并根据主窗口中的命令进行处理,包括显示其他用户控件。

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

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

谢谢!

编辑 - 我们终于做了理智的事情,并做了两个不同的过程,一个进行监视,一个进行WPFing。 谢谢大家!

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

Windows

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

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

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

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