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 IInspectable DependencyObject Transition NavigationThemeTransition
Атрибуты

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

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

Примеры

Совет

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

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

Комментарии

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

С помощью NavigationThemeTransition можно добавлять анимированные переходы, когда приложение перемещается между различными элементами содержимого.Frame Вы можете добавить NavigationThemeTransition в Transitions коллекцию перемещаемого Page объекта или 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 назад. Это может быть полезно при динамическом изменении поведения навигации в зависимости от размера экрана, например при использовании адаптивного шаблона основных и подробных данных. Дополнительные примеры см. в образце основных и подробных сведений XAML.

SuppressNavigationTransitionInfo

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

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

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

NavigationThemeTransition()

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

Свойства

DefaultNavigationTransitionInfo

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

Эквивалентное свойство WinUI: Microsoft.UI.Xaml.Media.Animation.NavigationThemeTransition.DefaultNavigationTransitionInfo.

DefaultNavigationTransitionInfoProperty

Идентифицирует свойство зависимостей DefaultNavigationTransitionInfo.

Эквивалентное свойство WinUI: Microsoft.UI.Xaml.Media.Animation.NavigationThemeTransition.DefaultNavigationTransitionInfoProperty.

Dispatcher

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

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.Dispatcher (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.ClearValue (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.GetAnimationBaseValue (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.GetValue (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.ReadLocalValue (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений конкретного DependencyProperty DependencyObject экземпляра.

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для объекта DependencyObject.

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.SetValue (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое ранее было зарегистрировано путем вызова RegisterPropertyChangedCallback.

Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

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