NavigationThemeTransition Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет анимации навигации по страницам.
public ref class NavigationThemeTransition sealed : Transition
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class NavigationThemeTransition final : Transition
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class NavigationThemeTransition : Transition
Public NotInheritable Class NavigationThemeTransition
Inherits Transition
<NavigationThemeTransition .../>
- Наследование
- Атрибуты
Примеры
Tip
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе "Переходы страницы".
Приложение Галерея WinUI 3 включает интерактивные примеры большинства элементов управления, особенностей и возможностей WinUI 3. Получите приложение из Microsoft Store или получите исходный код в GitHub.
Комментарии
С Windows 10 версии 1803 кадр использует navigationThemeTransition для анимации навигации между страницами по умолчанию.
Вы можете использовать NavigationThemeTransition для добавления анимированных переходов при переходе между различными частями содержимого в кадре. Вы можете добавить NavigationThemeTransition в коллекцию переходов страницы, к которой осуществляется переход, или коллекцию ContentTransitions для кадра навигации. Как правило, рекомендуется использовать свойство ContentTransitions кадра, чтобы обеспечить переходы для всех страниц навигации.
В этом примере показан элемент NavigationThemeTransition, добавленный в коллекцию ContentTransitionsкадра.
<Frame ...>
<Frame.ContentTransitions>
<TransitionCollection>
<NavigationThemeTransition/>
</TransitionCollection>
</Frame.ContentTransitions>
...
</Frame>
var frame = new Frame();
frame.ContentTransitions = new TransitionCollection();
frame.ContentTransitions.Add(new NavigationThemeTransition());
В Windows 10 для навигации между страницами в приложении предоставляются две различные анимации. Анимации навигации представлены подклассами NavigationTransitionInfo.
- Обновление страницы: обновление страницы — это анимация по умолчанию для навигации по страницам. Это сочетание анимации вверх по слайду и затухания в анимации для входящего содержимого. При использовании навигации верхнего уровня следует использовать обновление страницы, например меню навигации.
Анимация обновления страницы представлена классом EntranceNavigationTransitionInfo . Присоединенное свойство EntranceNavigationTransitionInfo.IsTargetElement можно использовать для применения движения обновления страницы к подмножество страницы; Например, все содержимое, за исключением пользовательского интерфейса команды страницы.
- Детализация. При взаимодействии пользователя с пользовательским интерфейсом на странице, представляющей ссылку на другую страницу, следует использовать детализацию в анимации. Например, на странице, представляющей список альбомов, когда пользователь щелкает элемент альбома, необходимо выполнить детализацию на страницу альбома.
Детализация в анимации представлена классом DrillInNavigationTransitionInfo .
По умолчанию NavigationThemeTransition воспроизводит анимацию обновления страницы. Однако это поведение можно переопределить, задав свойство DefaultNavigationTransitionInfo для NavigationThemeTransition. Значение NavigationTransitionInfo этого свойства используется для всей навигации по умолчанию.
Вы можете указать анимацию, используемую для определенной навигации, с помощью перегрузки Frame.Navigate , которая принимает 3 параметра.
В этом примере, когда пользователь "детализация" из списка альбомов на страницу, представляющую определенный альбом, приложение для просмотра музыки запрашивает детализацию анимации.
void AlbumsListView_ItemClick(object sender, ItemClickEventArgs e)
{
// Get albumId from clicked item...
Frame.Navigate(typeof(AlbumPage), albumId, new DrillInNavigationTransitionInfo());
}
Кроме того, можно использовать Frame.GoBack(NavigationTransitionInfo) для воспроизведения определенного перехода при переходе обратно в стек задней части кадра . Это может быть полезно при динамическом изменении поведения навигации на основе размера экрана; Например, в сценарии с адаптивным главным и подробным описанием. Дополнительные примеры см. в образце основных и подробных сведений XAML.
SuppressNavigationTransitionInfo
Вы можете использовать SuppressNavigationTransitionInfo вместо других подтипов NavigationTransitionInfo , если вы хотите избежать воспроизведения анимации во время навигации.
// Navigate to your first page without a transition
Frame.Navigate(typeof(MainPage), null, new SuppressNavigationTransitionInfo());
Конструкторы
| Имя | Описание |
|---|---|
| NavigationThemeTransition() |
Инициализирует новый экземпляр класса NavigationThemeTransition . |
Свойства
| Имя | Описание |
|---|---|
| DefaultNavigationTransitionInfo |
Возвращает или задает переход по умолчанию, используемый при переходе между страницами. |
| DefaultNavigationTransitionInfoProperty |
Определяет свойство зависимостей DefaultNavigationTransitionInfo . |
| Dispatcher |
Всегда возвращается |
| DispatcherQueue |
Возвращает, |
Методы
| Имя | Описание |
|---|---|
| ClearValue(DependencyProperty) |
Очищает локальное значение свойства зависимостей. (Унаследовано от DependencyObject) |
| GetAnimationBaseValue(DependencyProperty) |
Возвращает любое базовое значение, установленное для свойства зависимостей, которое будет применяться в случаях, когда анимация не активна. (Унаследовано от DependencyObject) |
| GetValue(DependencyProperty) |
Возвращает текущее эффективное значение свойства зависимостей из DependencyObject. (Унаследовано от DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если задано локальное значение. (Унаследовано от DependencyObject) |
| RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Регистрирует функцию уведомлений для прослушивания изменений в определенном экземпляре DependencyProperty в этом экземпляре DependencyObject . (Унаследовано от DependencyObject) |
| SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей в DependencyObject. (Унаследовано от DependencyObject) |
| UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Отменяет уведомление об изменении, которое ранее было зарегистрировано путем вызова RegisterPropertyChangedCallback. (Унаследовано от DependencyObject) |