NavigationThemeTransition Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece animações de navegação 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 .../>
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
Dica
Para obter mais informações, diretrizes de design e exemplos de código, consulte Transições de página.
Se você tiver o aplicativo WinUI 2 Gallery instalado, clique aqui para abrir o aplicativo e ver Transições de Página em ação.
Comentários
Com o Windows 10, versão 1803, um Frame usa NavigationThemeTransition para animar a navegação entre Páginas por padrão.
Você pode usar NavigationThemeTransition para adicionar transições animadas quando seu aplicativo navega entre diferentes partes de conteúdo em um Frame. Você pode adicionar NavigationThemeTransition à coleção Transitions da Página que está sendo navegada ou à coleção ContentTransitions para o Quadro de navegação. Em geral, recomendamos que você use a propriedade ContentTransitions do quadro para garantir que as transições ocorram para todas as páginas de navegação.
Este exemplo mostra NavigationThemeTransition adicionado à coleção ContentTransitions de um Frame.
<Frame ...>
<Frame.ContentTransitions>
<TransitionCollection>
<NavigationThemeTransition/>
</TransitionCollection>
</Frame.ContentTransitions>
...
</Frame>
var frame = new Frame();
frame.ContentTransitions = new TransitionCollection();
frame.ContentTransitions.Add(new NavigationThemeTransition());
No Windows 10, duas animações diferentes são fornecidas para navegação entre páginas em um aplicativo. As animações de navegação são representadas por subclasses de NavigationTransitionInfo.
- Atualização de página: a atualização de página é a animação padrão para navegação de página. É uma combinação de uma animação de slide para cima e um fade na animação para o conteúdo de entrada. Você deve usar a atualização de página ao usar a navegação de nível superior como um menu de navegação.
A animação de atualização de página é representada pela classe EntryNavigationTransitionInfo . Você pode usar a propriedade anexada EntryNavigationTransitionInfo.IsTargetElement para aplicar o movimento de atualização de página a um subconjunto da página; por exemplo, todo o conteúdo excluindo a interface do usuário de comando da página.
- Detalhamento: você deve usar a simulação na animação quando um usuário interage com a interface do usuário em uma página que representa um link para outra página. Por exemplo, em uma página que representa uma lista de álbuns, quando um usuário clica em um item de álbum, deve haver uma busca detalhada na transição para a página do álbum.
A animação drill in é representada pela classe DrillInNavigationTransitionInfo .
Por padrão, NavigationThemeTransition reproduz uma animação de atualização de página. No entanto, você pode substituir esse comportamento definindo a propriedade DefaultNavigationTransitionInfo de NavigationThemeTransition. O valor NavigationTransitionInfo dessa propriedade é usado para toda a navegação por padrão.
Você pode especificar a animação a ser usada para uma navegação específica usando a sobrecarga de Frame.Navigate que usa três parâmetros.
Neste exemplo, quando um usuário "faz drill-in" de uma lista de álbuns para uma página que representa um álbum específico, um aplicativo de navegação de música solicita uma simulação em animação.
void AlbumsListView_ItemClick(object sender, ItemClickEventArgs e)
{
// Get albumId from clicked item...
Frame.Navigate(typeof(AlbumPage), albumId, new DrillInNavigationTransitionInfo());
}
Além disso, você pode usar Frame.GoBack(NavigationTransitionInfo) para reproduzir uma transição específica ao navegar novamente na pilha de back frame . Isso poderá ser útil quando você modificar o comportamento de navegação dinamicamente com base no tamanho da tela, por exemplo, em um cenário mestre/de detalhes dinâmico. Para obter mais exemplos, consulte o exemplo de master/detalhes XAML.
SuppressNavigationTransitionInfo
Você pode usar SuppressNavigationTransitionInfo no lugar de outros subtipos NavigationTransitionInfo quando quiser evitar reproduzir qualquer animação durante a navegação.
// Navigate to your first page without a transition
Frame.Navigate(typeof(MainPage), null, new SuppressNavigationTransitionInfo());
Construtores
NavigationThemeTransition() |
Inicializa uma nova instância da classe NavigationThemeTransition . |
Propriedades
DefaultNavigationTransitionInfo |
Obtém ou define a transição padrão usada ao navegar entre páginas. |
DefaultNavigationTransitionInfoProperty |
Identifica a propriedade de dependência DefaultNavigationTransitionInfo . |
Dispatcher |
Obtém o CoreDispatcher ao qual esse objeto está associado. O CoreDispatcher representa uma instalação que pode acessar DependencyObject no thread da interface do usuário mesmo que o código seja iniciado por um thread que não seja da interface do usuário. (Herdado de DependencyObject) |
Métodos
ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade de dependência. (Herdado de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa. (Herdado de DependencyObject) |
GetValue(DependencyProperty) |
Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject. (Herdado de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, se um valor local for definido. (Herdado de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nesta instância dependencyObject . (Herdado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência em um DependencyObject. (Herdado de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback. (Herdado de DependencyObject) |