我的应用程序需要在启动时在 MainWindow 中加载用户控件。然而,用户控件的初始化很慢。(不是因为加载业务数据,我已经把UI和业务层分开了)
我要做的是在等待用户控件的初始化时,会出现一个忙碌指示符,并在用户控件的初始化完成后消失。
现在我在 MainViewModel 中有一个 IsBusy 属性,并且数据绑定到 MainWindow 中的 busyindicator。
子用户控件通过内容控件显示。
presenter.Content = new ChildUserControl();
//presenter is the contentcontrol in MainWindow
但是,如何同时运行初始化和忙碌指示符的显示呢?看来我需要不同的线程来处理这个问题。
但是,在另一个线程上运行初始化同时让主 UI 线程显示忙碌指示器将不起作用,因为另一个线程中的子控件不能放在其父控件中,在这种情况下是 MainWindow。
有什么想法吗?