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

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

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

Примеры

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

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

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

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

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

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

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

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

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

Drill

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

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

анимация

Анимация детализации представлена классом 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).

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