NavigationThemeTransition Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce animazioni di spostamento tra le pagine.
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à
- Attributi
Esempio
Tip
Per altre info, indicazioni sulla progettazione ed esempi di codice, vedi Transizioni di pagina.
L'app Raccolta WinUI 3 include esempi interattivi della maggior parte dei controlli e delle funzionalità di WinUI 3. Ottenere l'app dal Microsoft Store o ottenere il codice sorgente in GitHub.
Commenti
Con Windows 10 versione 1803, un frame usa NavigationThemeTransition per animare lo spostamento tra le pagine per impostazione predefinita.
Puoi usare NavigationThemeTransition per aggiungere transizioni animate quando l'app si sposta tra parti di contenuto diverse in un frame. È possibile aggiungere NavigationThemeTransition all'insieme Transitions della pagina a cui si sta passando o all'insieme ContentTransitions per il frame di spostamento. In generale, è consigliabile usare la proprietà ContentTransitions del frame per assicurarsi che le transizioni vengano eseguite per tutte le pagine di spostamento.
Questo esempio mostra NavigationThemeTransition aggiunto all'insieme ContentTransitions di un oggetto 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 in un'app. Le animazioni di navigazione sono rappresentate da sottoclassi di NavigationTransitionInfo.
- Aggiornamento pagina: l'aggiornamento della pagina è l'animazione predefinita per lo spostamento nella pagina. Si tratta di una combinazione di un'animazione di scorrimento verso l'alto e di una dissolvenza in animazione 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 "esegue il 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 spostamento in modo dinamico in base alle dimensioni dello schermo; ad esempio, in uno scenario 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 la navigazione.
// Navigate to your first page without a transition
Frame.Navigate(typeof(MainPage), null, new SuppressNavigationTransitionInfo());
Costruttori
| Nome | Descrizione |
|---|---|
| NavigationThemeTransition() |
Inizializza una nuova istanza della classe NavigationThemeTransition . |
Proprietà
| Nome | Descrizione |
|---|---|
| DefaultNavigationTransitionInfo |
Ottiene o imposta la transizione predefinita utilizzata durante lo spostamento tra le pagine. |
| DefaultNavigationTransitionInfoProperty |
Identifica la proprietà di dipendenza DefaultNavigationTransitionInfo . |
| Dispatcher |
Restituisce |
| DispatcherQueue |
Ottiene l'oggetto |
Metodi
| Nome | Descrizione |
|---|---|
| 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 a una dipendenza specifica in questa istanza dependencyObject . (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) |