Как скрыть / обработать кнопку возврата в кадре приложения C # UWP - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть приложение UWP, и его рабочий процесс состоит из нескольких шагов.

  1. Шаг 1
  2. Шаг 2
  3. Шаг 3
  4. Шаг 4

Предполагая Шаг 4 как последний шаг , я хочу перейти к шагу 2 (НЕ Шаг 3) на кнопке «Назад», щелкнувшей в последнем шаге(Шаг 4).

Step 4 -> (click back button) -> navigate to Step 2

Как я могу обработать событие нажатия кнопки на моей ViewModel?

ИЛИ

Как я могу скрыть кнопку "Назад" на моей ViewModel?

Пока что я попробовал следующее на конструкторе моей ViewModel.

SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
SystemNavigationManager.GetForCurrentView().BackRequested += (s, e) =>
{
   // Handle the Back pressed                
   NavigateToStep2();
};

1 Ответ

0 голосов
/ 20 февраля 2019

Ранее приложения UWP использовали AppViewBackButtonVisibility для обратной навигации.API будет по-прежнему поддерживаться для обеспечения обратной совместимости, но мы больше не рекомендуем полагаться на AppViewBackButtonVisibility.Вместо этого ваше приложение должно нарисовать собственную кнопку возврата в приложении.См. История навигации и обратная навигация для приложений UWP для получения дополнительной информации.

Согласно вашему описанию, ваш процесс навигации сильно настроен.Вам нужно сделать свой собственный навигационный сервис.В вашем приложении вам также нужно создать собственную кнопку возврата в приложении и привязать команду к навигационной команде ViewModel.

Я использовал Template10 в своем проекте.Он реализовал NavigationService .Я напрямую заставляю мои ViewModels наследовать его ViewModelBase класс, чтобы использовать его службу навигации.Это очень удобноВы можете проверить исходный код Template10 для более подробной информации.Вам было бы полезно создать свой собственный навигационный сервис.Или вы также можете напрямую использовать Template10 NavigationService.

...