Моему приложению необходимо загрузить пользовательский элемент управления в MainWindow при запуске. Однако инициализация пользовательского элемента управления выполняется медленно. (не из-за загрузки бизнес-данных, я уже отделяю пользовательский интерфейс от бизнес-уровня)
Что я хочу сделать, так это дождаться инициализации пользовательского элемента управления, появится индикатор занятости и исчезнет, когда инициализация пользовательского элемента управления будет завершена.
Right now I have a IsBusy property in the MainViewModel and is databind to the busyindicator in the MainWindow.
The child usercontrol is displayed via a contentcontrol.
presenter.Content = new ChildUserControl();
//presenter is the contentcontrol in MainWindow
Однако как запустить одновременно и инициализацию, и отображение индикатора занятости? Кажется, мне нужны разные потоки для решения этой проблемы.
Однако выполнение инициализации в другом потоке, позволяя основному потоку пользовательского интерфейса отображать индикатор занятости, не будет работать, поскольку дочерний элемент управления в другом потоке не может быть помещен в его родительский элемент управления, которым в данном случае является MainWindow.
Любые идеи по этому поводу?