Condividi tramite


NavigationThemeTransition Classe

Definizione

Fornisce animazioni di spostamento tra le pagine.

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 .../>
Ereditarietà
Object Platform::Object IInspectable DependencyObject Transition NavigationThemeTransition
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Suggerimento

Per altre info, linee guida per la progettazione ed esempi di codice, vedi Transizioni di pagina.

Se è installata l'app WinUI 2 Gallery , fare clic qui per aprire l'app e vedere Transizioni di pagina in azione.

Commenti

Con Windows 10, versione 1803, un frame usa NavigationThemeTransition per animare la navigazione tra pagine per impostazione predefinita.

Puoi usare NavigationThemeTransition per aggiungere transizioni animate quando l'app si sposta tra parti diverse di contenuto in un frame. È possibile aggiungere NavigationThemeTransition all'insieme Transitions dell'oggetto Page a cui si sta passando o all'insieme ContentTransitions per il frame di spostamento. In generale, è consigliabile utilizzare la proprietà ContentTransitions del frame per garantire che le transizioni vengano eseguite per tutte le pagine di spostamento.

Questo esempio mostra NavigationThemeTransition aggiunto all'insieme ContentTransitions di un frame.

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

In Windows 10 vengono fornite due animazioni diverse per lo spostamento tra le pagine di un'app. Le animazioni di navigazione sono rappresentate da sottoclassi di NavigationTransitionInfo.

  • Aggiornamento pagina: l'aggiornamento della pagina è l'animazione predefinita per lo spostamento tra le pagine. Si tratta di una combinazione di un'animazione di scorrimento verso l'alto e di un'animazione in dissolvenza per il contenuto in ingresso. È consigliabile usare l'aggiornamento della pagina quando si usa lo spostamento di primo livello, ad esempio un menu di spostamento.

L'animazione di aggiornamento della pagina è rappresentata dalla classe EntranceNavigationTransitionInfo . È possibile utilizzare la proprietà associata EntranceNavigationTransitionInfo.IsTargetElement per applicare il movimento di aggiornamento della pagina a un subset della pagina; ad esempio, tutto il contenuto escluso l'interfaccia utente di comando della pagina.

  • Drill-in: è consigliabile usare l'animazione drill-in quando un utente interagisce con l'interfaccia utente in una pagina che rappresenta un collegamento a un'altra pagina. Ad esempio, in una pagina che rappresenta un elenco di album, quando un utente fa clic su un elemento dell'album, dovrebbe essere presente una transizione di drill-in alla pagina dell'album.

L'animazione drill-in è rappresentata dalla classe DrillInNavigationTransitionInfo .

Per impostazione predefinita, NavigationThemeTransition riproduce un'animazione di aggiornamento della pagina. È tuttavia possibile eseguire l'override di questo comportamento impostando la proprietà DefaultNavigationTransitionInfo di NavigationThemeTransition. Il valore NavigationTransitionInfo di questa proprietà viene utilizzato per tutti gli spostamenti per impostazione predefinita.

È possibile specificare l'animazione da usare per una navigazione specifica usando l'overload di Frame.Navigate che accetta 3 parametri.

In questo esempio, quando un utente "drill-in" da un elenco di album a una pagina che rappresenta un determinato album, un'app di esplorazione musicale richiede un'animazione drill-in.

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

Inoltre, è possibile usare Frame.GoBack(NavigationTransitionInfo) per riprodurre una transizione specifica durante lo spostamento nello stack Indietro frame . Ciò può essere utile quando si modifica il comportamento di navigazione in modo dinamico in base alle dimensioni dello schermo; Ad esempio, in uno scenario di master/dettagli reattivo. Per altri esempi, vedi l'esempio di master/dettagli XAML.

SuppressNavigationTransitionInfo

Puoi usare SuppressNavigationTransitionInfo al posto di altri sottotipi NavigationTransitionInfo quando vuoi evitare di riprodurre qualsiasi animazione durante lo spostamento.

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

Costruttori

NavigationThemeTransition()

Inizializza una nuova istanza della classe NavigationThemeTransition .

Proprietà

DefaultNavigationTransitionInfo

Ottiene o imposta la transizione predefinita utilizzata durante lo spostamento tra le pagine.

DefaultNavigationTransitionInfoProperty

Identifica la proprietà di dipendenza DefaultNavigationTransitionInfo .

Dispatcher

Ottiene coreDispatcher a cui è associato questo oggetto. CoreDispatcher rappresenta una funzionalità che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia utente.

(Ereditato da DependencyObject)

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche apportate a una dipendenza specifica in questa istanza di DependencyObject .

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza su dependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Si applica a

Vedi anche