Язык

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 .../>
Наследование
Object Platform::Object IInspectable DependencyObject 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

Всегда возвращается null в приложении пакета SDK для приложений windows. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает, DispatcherQueue с которым связан этот объект. Представляет DispatcherQueue собой объект, который может получить доступ к DependencyObject потоку пользовательского интерфейса, даже если код инициируется потоком, отличным от пользовательского интерфейса.

(Унаследовано от DependencyObject)

Методы

Имя Описание
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)

Применяется к

См. также раздел