Condividi tramite


NavigationThemeTransition Classe

Definizione

Fornisce animazioni di spostamento pagina.

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

Esempio

Suggerimento

Per altre informazioni, linee guida per la progettazione e esempi di codice, vedere Transizioni di pagina.

L'app WinUI 3 Gallery include esempi interattivi della maggior parte dei controlli, delle funzionalità e delle funzionalità winUI 3. Ottenere l'app da Microsoft Store o ottenere il codice sorgente in GitHub.

Commenti

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

È possibile usare NavigationThemeTransition per aggiungere transizioni animate quando l'app passa tra parti diverse di contenuto in un frame. È possibile aggiungere NavigationThemeTransition all'insieme Transitions della pagina a cui si passa o all'insieme ContentTransitions per la struttura di spostamento Frame. In generale, è consigliabile usare la proprietà ContentTransitions del frame per assicurarsi che le transizioni si verifichino per tutte le pagine di spostamento.

In questo esempio viene illustrato 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 pagine in un'app. Le animazioni di spostamento sono rappresentate dalle sottoclassi di NavigationTransitionInfo.

  • Aggiornamento pagina: l'aggiornamento pagina è l'animazione predefinita per lo spostamento di pagina. Si tratta di una combinazione di un'animazione di scorrimento e di una dissolvenza nell'animazione per il contenuto in ingresso. È consigliabile usare l'aggiornamento della pagina quando si usa lo spostamento di primo livello come un menu di spostamento.

L'animazione di aggiornamento della pagina è rappresentata dalla classe EntranceNavigationTransitionInfo . È possibile usare 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 un drill-in alla pagina dell'album.

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

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

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

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

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 la navigazione nello stack back frame. Questo può essere utile quando si modifica il comportamento di spostamento in modo dinamico in base alle dimensioni dello schermo; ad esempio, in uno scenario master/dettagli reattivo. Per altri esempi, vedere l'esempio master/dettagli XAML.

SuppressNavigationTransitionInfo

È possibile usare SuppressNavigationTransitionInfo al posto di altri sottotipi NavigationTransitionInfo quando si vuole evitare di riprodurre alcuna animazione durante la navigazione.

// 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 usata durante lo spostamento tra pagine.

DefaultNavigationTransitionInfoProperty

Identifica la proprietà di dipendenza DefaultNavigationTransitionInfo .

Dispatcher

Restituisce null sempre in un'app SDK per app di Windows. Usare invece DispatcherQueue .

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto DispatcherQueue associato. Rappresenta DispatcherQueue una struttura che può accedere al thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia DependencyObject 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 un oggetto DependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

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

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a un'istanza di DependencyObject specifica.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza in un oggetto 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