Compartilhar via


NavigationThemeTransition Classe

Definição

Fornece animações de navegação de página.

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

Exemplos

Dica

Para obter mais informações, diretrizes de design e exemplos de código, consulte Transições de página.

O aplicativo Galeria da WinUI 3 inclui exemplos interativos da maioria dos controles, recursos e funcionalidades da WinUI 3. Obtenha o aplicativo na Microsoft Store ou o código-fonte no GitHub.

Comentários

Com 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 Page que está sendo navegada ou à coleção ContentTransitions para o Frame 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()); 

Em 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 uma esmaecimento 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 EntranceNavigationTransitionInfo . Você pode usar a propriedade anexada EntranceNavigationTransitionInfo.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 animação de drill-in 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 3 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 por música solicita uma simulação de 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 o Frame.GoBack(NavigationTransitionInfo) para reproduzir uma transição específica ao navegar de volta na pilha voltar do quadro . 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

Sempre retorna null em um aplicativo SDK do Aplicativo Windows. Em vez disso, use DispatcherQueue .

(Herdado de DependencyObject)
DispatcherQueue

Obtém o ao DispatcherQueue qual este objeto está associado. O DispatcherQueue representa uma instalação que pode acessar o 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 nessa 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)

Aplica-se a

Confira também