代码之家  ›  专栏  ›  技术社区  ›  excray

C#WPF GUI设计问题:将后台工作程序附加到特定窗口是个坏主意吗

c#
  •  0
  • excray  · 技术社区  · 16 年前

    我有一个应用程序,其中包括三个窗口。

    主窗口 设置窗口

    需要初始化dll。这是一点时间消耗,所以我已经通过后台工作完成。backgroundworker是主窗口的私有成员。

    我还需要在“查找”窗口中检查backgroundworker的状态。我可以通过主窗口的引用来查找窗口并检查后台工作地位。但是我必须这样做。或者我应该把BackgroundRoker放在一个单独的类中(可能是一个单例)并通过它检查backgroundworker的状态??

    谢谢

    1 回复  |  直到 16 年前
        1
  •  1
  •   Alastair Pitts    16 年前

    如果BackgroundWorker的全部目的是加载一个DLL而不阻塞UI消息泵,并且能够在奇点中进行查询,那么我可能会选择singleton/static类。

    然后可以设计每个窗口可以附加到的自定义事件,以监视加载过程的当前状态。

    我想这两个都会很好,但我相信其他有更多知识的人会启发我们:)