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
Атрибуты

Примеры

Совет

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

Приложение коллекции WinUI 3 содержит интерактивные примеры большинства элементов управления, функций и функций WinUI 3. Получите приложение из Microsoft Store или получите исходный код в GitHub.

Комментарии

В Windows 10 версии 1803 frame использует NavigationThemeTransition для анимации навигации между страницами по умолчанию.

NavigationThemeTransition можно использовать для добавления анимированных переходов при переходе приложения между разными фрагментами содержимого в frame. Вы можете добавить NavigationThemeTransition в коллекцию Переходы страницы, на которую осуществляется переход, или в коллекцию ContentTransitions для структуры навигации Frame. Как правило, рекомендуется использовать свойство ContentTransitions фрейма, чтобы обеспечить выполнение переходов для всех страниц навигации.

В этом примере показан параметр NavigationThemeTransition, добавленный в коллекцию ContentTransitionsобъекта Frame.

<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) для воспроизведения определенного перехода при переходе назад в стеке назад Frame back. Это может быть полезно при динамическом изменении поведения навигации в зависимости от размера экрана, например при использовании адаптивного шаблона основных и подробных данных. Дополнительные примеры см. в примере master и детализации 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 приложении Windows App SDK. Вместо этого используйте 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)

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

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