Partager via


NavigationThemeTransition Classe

Définition

Fournit des animations de navigation de page.

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 .../>
Héritage
Object Platform::Object IInspectable DependencyObject Transition NavigationThemeTransition
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Conseil

Pour plus d’informations, des conseils de conception et des exemples de code, consultez Transitions de page.

Si vous avez installé l’application WinUI 2 Gallery , cliquez ici pour ouvrir l’application et voir Transitions de page en action.

Remarques

Avec Windows 10, version 1803, un frame utilise NavigationThemeTransition pour animer la navigation entre les pages par défaut.

Vous pouvez utiliser NavigationThemeTransition pour ajouter des transitions animées lorsque votre application navigue entre différents éléments de contenu dans un frame. Vous pouvez ajouter NavigationThemeTransition à la collection Transitions de la page à laquelle vous accédez, ou à la collection ContentTransitions pour le cadre de navigation. En général, nous vous recommandons d’utiliser la propriété ContentTransitions du cadre pour garantir que les transitions se produisent pour toutes les pages de navigation.

Cet exemple montre NavigationThemeTransition ajouté à la collection ContentTransitions d’un frame.

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

Dans Windows 10, deux animations différentes sont fournies pour la navigation entre les pages d’une application. Les animations de navigation sont représentées par des sous-classes de NavigationTransitionInfo.

  • Actualisation de page : l’actualisation de la page est l’animation par défaut pour la navigation sur les pages. Il s’agit d’une combinaison d’une animation de diapositive vers le haut et d’un fondu dans l’animation pour le contenu entrant. Vous devez utiliser l’actualisation des pages lorsque vous utilisez la navigation de niveau supérieur comme un menu de navigation.

L’animation d’actualisation de page est représentée par la classe EntranceNavigationTransitionInfo . Vous pouvez utiliser la propriété jointe EntranceNavigationTransitionInfo.IsTargetElement pour appliquer le mouvement d’actualisation de la page à un sous-ensemble de la page ; par exemple, tout le contenu à l’exception de l’interface utilisateur de commandes de la page.

  • Extraction : vous devez utiliser l’animation d’extraction lorsqu’un utilisateur interagit avec l’interface utilisateur sur une page qui représente un lien vers une autre page. Par exemple, dans une page qui représente une liste d’albums, lorsqu’un utilisateur clique sur un élément d’album, il doit y avoir une exploration de transition vers la page d’album.

L’extraction dans l’animation est représentée par la classe DrillInNavigationTransitionInfo .

Par défaut, NavigationThemeTransition lit une animation d’actualisation de page. Toutefois, vous pouvez remplacer ce comportement en définissant la propriété DefaultNavigationTransitionInfo de NavigationThemeTransition. La valeur NavigationTransitionInfo de cette propriété est utilisée pour toutes les navigations par défaut.

Vous pouvez spécifier l’animation à utiliser pour une navigation particulière à l’aide de la surcharge de Frame.Navigate qui prend 3 paramètres.

Dans cet exemple, lorsqu’un utilisateur « explore » une liste d’albums vers une page représentant un album particulier, une application de navigation musicale demande une extraction dans l’animation.

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

En outre, vous pouvez utiliser Frame.GoBack(NavigationTransitionInfo) pour lire une transition spécifique lors de la navigation dans la pile arrière frame . Cela peut être utile lorsque vous modifiez dynamiquement le comportement de navigation en fonction de la taille de l’écran ; par exemple, dans un scénario de master/détail réactif. Pour obtenir d’autres exemples, consultez l’exemple de master/détail XAML.

SuppressNavigationTransitionInfo

Vous pouvez utiliser SuppressNavigationTransitionInfo à la place d’autres sous-types NavigationTransitionInfo lorsque vous souhaitez éviter de lire des animations pendant la navigation.

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

Constructeurs

NavigationThemeTransition()

Initialise une nouvelle instance de la classe NavigationThemeTransition.

Propriétés

DefaultNavigationTransitionInfo

Obtient ou définit la transition par défaut utilisée lors de la navigation entre les pages.

DefaultNavigationTransitionInfoProperty

Identifie la propriété de dépendance DefaultNavigationTransitionInfo .

Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une fonctionnalité qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’appliquerait dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject.

(Hérité de DependencyObject)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi