InitializeComponent асинхронно
Можно ли сделать асинхронный InitializeComponent
? В противном случае я могу загрузить свой компонент WPF асинхронно? Более конкретно, в настоящее время я разрабатываю продукт в WPF и заметил, что время загрузки графических компонентов (некоторых компонентов) довольно велико, когда у меня есть требования к производительности.
1 ответ
Решение
Если вы создаете компонент в потоке пользовательского интерфейса, то нет никакого способа поставить InitializeComponent
в другом потоке, но он может быть вызван асинхронно в том же потоке, используя Dispatcher.BeginInvoke
следующее:
Dispatcher.BeginInvoke(new Action(() =>InitializeComponent()));