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


NavigationThemeTransition Класс

Определение

Предоставляет анимации навигации по страницам.

public ref class NavigationThemeTransition sealed : Transition
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
class NavigationThemeTransition final : Transition
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class NavigationThemeTransition final : Transition
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
public sealed class NavigationThemeTransition : Transition
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class NavigationThemeTransition : Transition
Public NotInheritable Class NavigationThemeTransition
Inherits Transition
<NavigationThemeTransition .../>
Наследование
Object Platform::Object IInspectable DependencyObject Transition NavigationThemeTransition
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

Совет

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

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

Комментарии

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

NavigationThemeTransition можно использовать для добавления анимированных переходов, когда приложение перемещается между различными фрагментами содержимого в frame. Вы можете добавить NavigationThemeTransition в коллекцию Переходы страницы, к которой выполняется переход, или в коллекцию ContentTransitions для кадра навигации. Как правило, рекомендуется использовать свойство 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. Это может быть полезно при динамическом изменении поведения навигации в зависимости от размера экрана, например при использовании адаптивного шаблона основных и подробных данных. Дополнительные примеры см. в примере xaml master/detail.

SuppressNavigationTransitionInfo

Вы можете использовать SuppressNavigationTransitionInfo вместо других подтипов NavigationTransitionInfo , чтобы избежать воспроизведения анимации во время навигации.

// Navigate to your first page without a transition 
Frame.Navigate(typeof(MainPage), null, new SuppressNavigationTransitionInfo()); 

Конструкторы

NavigationThemeTransition()

Инициализирует новый экземпляр класса NavigationThemeTransition .

Свойства

DefaultNavigationTransitionInfo

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

DefaultNavigationTransitionInfoProperty

Определяет свойство зависимости DefaultNavigationTransitionInfo .

Dispatcher

Возвращает CoreDispatcher , с которым связан этот объект. CoreDispatcher представляет средство, которое может получить доступ к 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)

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

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