Смена страниц

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

Две различные анимации предоставляются для навигации между страницами в приложении, обновлении страниц и детализации, а также представлены подклассами NavigationTransitionInfo.

Примеры

Коллекция WinUI 2
WinUI Gallery

Если у вас установлено приложение коллекции WinUI 2 , щелкните здесь, чтобы открыть приложение и просмотреть переходы страниц в действии.

Обновление страницы

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

Она призвана создать ощущение, что пользователь начинает заново.

page refresh animation

Анимация обновления страницы представлена классом EntranceNavigationTransitionInfoClass.

// Explicitly play the page refresh animation
myFrame.Navigate(typeof(Page2), null, new EntranceNavigationTransitionInfo());

Примечание. Кадр автоматически использует NavigationThemeTransition для анимации навигации между двумя страницами. По умолчанию анимацией является обновление страницы.

Drill

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

Эта анимация создает ощущение, что пользователь перешел на более глубокий уровень приложения.

drill animation

Анимация детализации представлена классом DrillInNavigationTransitionInfo .

// Play the drill in animation
myFrame.Navigate(typeof(Page2), null, new DrillInNavigationTransitionInfo());

Горизонтальный слайд

Используйте горизонтальный слайд, чтобы показать, что рядом друг с другом отображаются одноуровневые страницы. Элемент управления NavigationView автоматически использует эту анимацию для верхней панели навигации, но если вы создаете собственный интерфейс горизонтальной навигации, вы можете реализовать горизонтальный слайд с помощью SlideNavigationTransitionInfo.

Желаемое чувство заключается в том, что пользователь перемещается между страницами, которые находятся рядом друг с другом.

// Navigate to the right, ie. from LeftPage to RightPage
myFrame.Navigate(typeof(RightPage), null, new SlideNavigationTransitionInfo() { Effect = SlideNavigationTransitionEffect.FromRight } );

// Navigate to the left, ie. from RightPage to LeftPage
myFrame.Navigate(typeof(LeftPage), null, new SlideNavigationTransitionInfo() { Effect = SlideNavigationTransitionEffect.FromLeft } );

Подавление

Чтобы избежать воспроизведения анимации во время перехода, используйте SuppressNavigationTransitionInfo вместо других подтипов NavigationTransitionInfo.

// Suppress the default animation
myFrame.Navigate(typeof(Page2), null, new SuppressNavigationTransitionInfo());

Подавление анимации полезно, если вы создаете собственный переход с помощью подключенных анимаций или неявных анимаций показа/скрытия.

Обратная навигация

Для воспроизведения определенной анимации при переходе в обратном направлении, используйте Frame.GoBack(NavigationTransitionInfo).

Это может быть полезно при динамическом изменении поведения навигации в зависимости от размера экрана; например, в сценарии с адаптивным списком или подробными сведениями.