Как загрузить все вкладки до того, как окно ленты отобразится в WPF?

Я использую ленточный элемент управления Microsoft WPF. У меня есть три вкладки, каждая из которых загружает разные пользовательские элементы управления WPF. Я использовал заставку, пока не загрузилось главное окно. После загрузки главного окна ленты, как только пользователь щелкает другую вкладку ленты, отображение и отображение этой вкладки занимает 3-4 секунды. Однако это происходит впервые. После этого переключения вкладок не показывают задержки.

Дополнительная информация: я инициализировал все пользовательские элементы управления до отображения окна, включая пользовательские элементы управления, используемые на всех вкладках.

Я обнаружил хакерство, когда при запуске перемещал окно за пределы экрана, а затем возвращал его обратно после программного переключения всех вкладок. Однако я читал, что в Windows 8, если вы переместите окно за пределы экрана, операции с окном приостанавливаются в памяти.

Как сделать переключение вкладок и пользовательский интерфейс адаптивным? Все предложения приветствуются.


person justcoding121    schedule 13.01.2013    source источник


Ответы (1)


Я не мог полностью избежать задержки, однако мне удалось смягчить проблему, установив наложение вращающегося значка обработки при смене вкладок. Это можно сделать, вызвав dispatcher.invokelater в потоке пользовательского интерфейса, когда пользователь щелкает другую вкладку, и закрыв значок при загрузке новой вкладки.

person justcoding121    schedule 05.09.2013