首先,我已经阅读了很多关于这个问题的内容,但我并不清楚。
我正在开发一个 WPF 应用程序,它意味着从数据库、本地/远程文件、Web 服务等加载大量信息。假设,这些数据被加载到数据网格和这种控件中。
我的应用程序运行良好,但数据加载过程会产生糟糕的用户体验。例如,我将重点放在请求大量数据的主窗口中,因此加载并显示在网格中需要 2-3 秒。
当我第一次执行它时,我真正想在我的应用程序中看到的是,GUI 立即加载,然后让数据加载工作,在网格上显示微调器、等待对象或其他任何内容,直到这些进程(异步?)加载.
在这种情况下(在我的测试中),无论加载数据的顺序(在代码中,我的意思是)是在哪里进行的:在构造函数内部,在几个事件(初始化、加载等)结束时,在就在 ShowDialog 指令之前的初始化方法......直到我的网格加载了这些东西,GUI 窗口才会出现。
我想我应该处理线程,一个用于 GUI,另一个异步用于加载数据,但我已经用 Dispatcher、Delegates 等进行了一些测试,但没有成功。
综上所述,目标是尽可能快地加载 GUI,然后加载数据并刷新 GUI。
现在我有点困惑,我阅读了有关线程、调度程序等的问题,但我不知道它们是否适用于我的需求。我希望你能告诉我遵循的方法。
问候,博尔哈。