Compartir a través de


NavigationThemeTransition Clase

Definición

Proporciona animaciones de navegación de página.

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 .../>
Herencia
Object Platform::Object IInspectable DependencyObject Transition NavigationThemeTransition
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

Sugerencia

Para obtener más información, instrucciones de diseño y ejemplos de código, consulta Transiciones de página.

Si tiene instalada la aplicación Galería de WinUI 2 , haga clic aquí para abrir la aplicación y ver Transiciones de página en acción.

Comentarios

Con Windows 10, versión 1803, un marco usa NavigationThemeTransition para animar la navegación entre Pages de forma predeterminada.

Puedes usar NavigationThemeTransition para agregar transiciones animadas cuando la aplicación navega entre diferentes partes de contenido en un frame. Puede agregar NavigationThemeTransition a la colección Transitions de la página a la que se navega o a la colección ContentTransitions del marco de navegación. En general, se recomienda usar la propiedad ContentTransitions del marco para asegurarse de que se produzcan transiciones para todas las páginas de navegación.

En este ejemplo se muestra NavigationThemeTransition agregado a la colección ContentTransitions de un frame.

<Frame ...>
    <Frame.ContentTransitions>
        <TransitionCollection>
            <NavigationThemeTransition/> 
        </TransitionCollection> 
    </Frame.ContentTransitions> 
    ...
</Frame> 
var frame = new Frame(); 
frame.ContentTransitions = new TransitionCollection(); 
frame.ContentTransitions.Add(new NavigationThemeTransition()); 

En Windows 10, se proporcionan dos animaciones diferentes para la navegación entre páginas de una aplicación. Las animaciones de navegación se representan mediante subclases de NavigationTransitionInfo.

  • Actualización de página: la actualización de página es la animación predeterminada para la navegación de página. Es una combinación de una animación de deslizar hacia arriba y una atenuación en animación para el contenido entrante. Debe usar la actualización de página al usar la navegación de nivel superior como un menú de navegación.

La animación de actualización de página se representa mediante la clase EntranceNavigationTransitionInfo . Puede usar la propiedad adjunta EntranceNavigationTransitionInfo.IsTargetElement para aplicar el movimiento de actualización de página a un subconjunto de la página; por ejemplo, todo el contenido excluyendo la interfaz de usuario de comandos de la página.

  • Obtención de detalles: debe usar la animación de obtención de detalles cuando un usuario interactúa con la interfaz de usuario en una página que representa un vínculo a otra página. Por ejemplo, en una página que representa una lista de álbumes, cuando un usuario hace clic en un elemento de álbum, debe haber un simulacro de transición a la página del álbum.

La animación de obtención de detalles se representa mediante la clase DrillInNavigationTransitionInfo .

De forma predeterminada, NavigationThemeTransition reproduce una animación de actualización de página. Sin embargo, puede invalidar este comportamiento estableciendo la propiedad DefaultNavigationTransitionInfo de NavigationThemeTransition. El valor NavigationTransitionInfo de esta propiedad se usa para toda la navegación de forma predeterminada.

Puede especificar la animación que se va a usar para una navegación determinada mediante la sobrecarga de Frame.Navigate que toma 3 parámetros.

En este ejemplo, cuando un usuario "explora en profundidad" de una lista de álbumes a una página que representa un álbum determinado, una aplicación de exploración de música solicita un simulacro de animación.

void AlbumsListView_ItemClick(object sender, ItemClickEventArgs e) 
{
    // Get albumId from clicked item... 
    Frame.Navigate(typeof(AlbumPage), albumId, new DrillInNavigationTransitionInfo());
} 

Además, puede usar Frame.GoBack(NavigationTransitionInfo) para reproducir una transición específica al volver a la pila De fotogramas atrás. Esto puede ser útil al modificar el comportamiento de navegación dinámicamente en función del tamaño de la pantalla; por ejemplo, en un escenario de maestro/detalle con capacidad de respuesta. Para obtener más ejemplos, consulta el ejemplo de maestro y detalle XAML.

SuppressNavigationTransitionInfo

Puedes usar SuppressNavigationTransitionInfo en lugar de otros subtipos NavigationTransitionInfo cuando quieras evitar reproducir cualquier animación durante la navegación.

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

Constructores

NavigationThemeTransition()

Inicializa una nueva instancia de la clase NavigationThemeTransition .

Propiedades

DefaultNavigationTransitionInfo

Obtiene o establece la transición predeterminada usada al navegar entre páginas.

DefaultNavigationTransitionInfoProperty

Identifica la propiedad de dependencia DefaultNavigationTransitionInfo .

Dispatcher

Obtiene el CoreDispatcher al que está asociado este objeto. CoreDispatcher representa una instalación que puede tener acceso a DependencyObject en el subproceso de interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)

Métodos

ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Se aplica a

Consulte también