c# - 如何从业务层更新UI?

标签 c# multithreading user-interface business-logic

我在 C# 中有一个三层应用程序。在业务层我有很多线程做同样的工作。 我想在 UI 上显示每个线程的进度,但我没有表示层的引用。

我该怎么做?最好的方法是什么?

谢谢。

最佳答案

这里最合适的答案可能是在业务层的某处公开一个事件。您的 UI 代码可以订阅该事件,并通过切换到 UI 线程(如有必要)来处理该事件并自行更新。

然后业务代码不需要了解 UI,并且可以在没有 UI 的情况下工作(但是对于所有委托(delegate)/回调,您需要检查 null 在尝试调用委托(delegate)之前)。

关于c# - 如何从业务层更新UI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3078516/

相关文章:

c# - 为 64 位编译我的应用程序如何使其更快或更好?

c++ - 根据传入命令选择和执行任务的模式/架构

python - Celery、Django .. 制作任务/线程启动子任务/线程?

c++ - 在 C\C++ 中使用 XML 创建 GUI

c++ - QT 在任何地方向 UI 添加小部件

java - Swing GUI 在 UNIX 上执行缓慢

c# - 使用 CallerMemberName 和 MethodImplOptions.NoInlined - 有必要吗?

c# - 窗口在服务模式下没有文本

c# - ServiceStack:如何在服务启动时更改API模型中的成员属性?

python - 在 Python 中给事件线程一个唯一的编号