UWP Frame Navigation. Можно ли загрузить вид в фоновом режиме? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть что-то вроде слайд-шоу. Вот код:

private int index;
        private List<Type> pages = new List<Type>() { typeof(ChartWheaterPage), typeof(ChartServerPage), typeof(mitarbeiteronlinePage), typeof(MomentaneKundenPage), typeof(OutlookKalenderPage), typeof(fdösjf), typeof(ChartZielPage) };
        public MainPage()
        {

            this.InitializeComponent();
            var timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(20);
            timer.Tick += Timer_Tick;
            timer.Start();

        }


            private void Timer_Tick(object sender, object e)
            {
                grid_loading.Opacity = 0;
                if (index == pages.Count)
                {
                    index = 0;
                }
                this.contentFrame.Navigate(pages[index]);
                index++;
            }

    }

, но проблема в том, что я использую Grafana, и когда я загружаю представление, ChartWheaterPage Grafana загружает 20-30 секунд. Есть ли способ загрузить страницу при запуске и показать, что она загружается только один раз

1 Ответ

1 голос
/ 24 апреля 2020

Есть ли способ загрузить страницу при запуске и показать, что она загружается только один раз?

Давайте сначала решим последнюю проблему и разрешим инициализации страницы только один раз. .

По умолчанию приложение будет создавать новую страницу каждый раз, когда вы переходите, и, если вы хотите повторно использовать страницу, вы можете кэшировать страницу так, чтобы при следующей навигации вы использовали кэшированную страницу. first.

public MyPage()
{
    this.InitializeComponent();
    NavigationCacheMode = NavigationCacheMode.Enabled;
}

Исходя из этого, если одна из ваших страниц должна загружаться в течение длительного времени и не является первой страницей слайда, вы можете перейти на эту страницу при запуске приложения, и затем перейдите к начальной странице.

Поскольку вы перешли на страницу и включили кэш, страница продолжит загружаться. Когда вы go на страницу через 20-30 секунд, страница была загружена и может отображаться.

Спасибо.

...