Как вернуть предыдущее состояние этой страницы - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть приложение UWP

image

Левый экран - SplitView.Pane с содержимым списка.

Правый экран - SplitView.Content, содержит детализацию содержимого.

<SplitView.Content>
    <Frame x:Name="frMainFrame">
        <Frame.ContentTransitions>
            <TransitionCollection>
                <NavigationThemeTransition />
            </TransitionCollection>
        </Frame.ContentTransitions>
     </Frame>
</SplitView.Content>

При нажатии на заголовок в SplitView.pane, frMainFrame переместится на страницу ListThread с параметром "id"

frMainFrame.Navigate(typeof(ListThread), id);

Метод обработан Кнопка возврата

private void OnBackRequested(object sender, BackRequestedEventArgs e)
{           
    if (frMainFrame.CanGoBack)
    {
        e.Handled = true;
        frMainFrame.GoBack(new SuppressNavigationTransitionInfo());
    }
    else
    {
        DialogResult.AskToExitApp();
    }
}

На странице ListThread,

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (e.NavigationMode != NavigationMode.Back)
    {
        idBox = (int)e.Parameter;
        Idpage = 1;
        AnalyzeUrlBox();
        AnalyzeHtml();
    }
}

и установить NavigatitonCacheMode Требуется для метода конструктора:

this.NavigationCacheMode = NavigationCacheMode.Required;

Сейчас,

  1. Я нажимаюна моддинге и дождитесь завершения загрузки контента. (frMainFrame перейдет к ListThread с параметром Id = 2)
  2. Я нажимаю на AMD и жду завершения загрузки контента. (frMainFrame перейдет к ListThread с параметромId = 3)
  3. Я нажимаю кнопку «Назад» в верхнем левом углу.

    • Требуется: frMainFrame для навигации по списку ListThread с параметром Id = 2,восстановить все состояние до навигации

    • Фактически: frMainFrame застрял в ListThread с параметром Id = 3

Я думаю, чтопроблема заключается в NavigationCacheMode.Как выполнить то же самое, что и Require?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...