Поделиться через


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

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

Две различные анимации предоставляются для навигации между страницами в приложении, обновлении страниц и детализации и представлены подклассами 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) для воспроизведения определенного перехода при переходе назад.

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