NavigationThemeTransition Klasse

Definition

Stellt Animationen für die Seitennavigation bereit.

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 .../>
Vererbung
Object Platform::Object IInspectable DependencyObject Transition NavigationThemeTransition
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Tipp

Weitere Informationen, Entwurfsanleitungen und Codebeispiele finden Sie unter Seitenübergänge.

Wenn Sie die WinUI 2-Katalog-App installiert haben, klicken Sie hier, um die App zu öffnen und seitenübergänge in Aktion zu sehen.

Hinweise

Bei Windows 10, Version 1803, verwendet ein Frame NavigationThemeTransition, um die Navigation zwischen Seiten standardmäßig zu animieren.

Sie können NavigationThemeTransition verwenden, um animierte Übergänge hinzuzufügen, wenn Ihre App zwischen verschiedenen Inhalten in einem Frame navigiert. Sie können NavigationThemeTransition der Transitions-Auflistung der Seite hinzufügen, zu der navigiert wird, oder der ContentTransitions-Auflistung für den Navigationsrahmen. Im Allgemeinen wird empfohlen, die ContentTransitions-Eigenschaft des Frames zu verwenden, um sicherzustellen, dass für alle Navigationsseiten Übergänge auftreten.

In diesem Beispiel wird NavigationThemeTransition der ContentTransitions-Auflistung eines Frame hinzugefügt.

<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 werden zwei verschiedene Animationen für die Navigation zwischen Seiten in einer App bereitgestellt. Die Navigationsanimationen werden durch Unterklassen von NavigationTransitionInfo dargestellt.

  • Seitenaktualisierung: Die Seitenaktualisierung ist die Standardanimation für die Seitennavigation. Dabei handelt es sich um eine Kombination aus einer Animation zum Aufschieben und einer Einblendung der Animation für den eingehenden Inhalt. Sie sollten die Seitenaktualisierung verwenden, wenn Sie die Navigation auf oberster Ebene wie ein Navigationsmenü verwenden.

Die Animation zur Seitenaktualisierung wird durch die EntranceNavigationTransitionInfo-Klasse dargestellt. Sie können die angefügte Eigenschaft EntranceNavigationTransitionInfo.IsTargetElement verwenden, um die Seitenaktualisierungsbewegung auf eine Teilmenge der Seite anzuwenden. beispielsweise alle Inhalte mit Ausnahme der Befehlsbenutzeroberfläche der Seite.

  • Drill In: Sie sollten den Drill in der Animation verwenden, wenn ein Benutzer mit der Benutzeroberfläche auf einer Seite interagiert, die einen Link zu einer anderen Seite darstellt. Wenn ein Benutzer beispielsweise auf einer Seite, die eine Liste von Alben darstellt, auf ein Albumelement klickt, sollte es einen Drill für den Übergang zur Albumseite geben.

Der Drill in animation wird durch die DrillInNavigationTransitionInfo-Klasse dargestellt.

Standardmäßig spielt NavigationThemeTransition eine Animation zur Seitenaktualisierung ab. Sie können dieses Verhalten jedoch überschreiben, indem Sie die DefaultNavigationTransitionInfo-Eigenschaft von NavigationThemeTransition festlegen. Der NavigationTransitionInfo-Wert dieser Eigenschaft wird standardmäßig für die gesamte Navigation verwendet.

Sie können die Animation angeben, die für eine bestimmte Navigation verwendet werden soll, indem Sie die Überladung von Frame.Navigate verwenden, die 3 Parameter benötigt.

Wenn ein Benutzer in diesem Beispiel von einer Albumliste auf eine Seite "drillt", die ein bestimmtes Album darstellt, fordert eine Musiksuche-App einen Drill in der Animation an.

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

Darüber hinaus können Sie frame.GoBack(NavigationTransitionInfo) verwenden, um einen bestimmten Übergang wiederzugeben, wenn Sie zurück im Frame-Back-Stapel navigieren. Dies kann nützlich sein, wenn Sie das Navigationsverhalten basierend auf der Bildschirmgröße dynamisch ändern. Beispielsweise in einem reaktionsfähigen master/Detailszenario. Weitere Beispiele finden Sie im Xaml-master-/Detailbeispiel.

SuppressNavigationTransitionInfo

Sie können SuppressNavigationTransitionInfo anstelle anderer NavigationTransitionInfo-Untertypen verwenden, wenn Sie die Wiedergabe von Animationen während der Navigation vermeiden möchten.

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

Konstruktoren

NavigationThemeTransition()

Initialisiert eine neue instance der NavigationThemeTransition-Klasse.

Eigenschaften

DefaultNavigationTransitionInfo

Ruft den Standardübergang ab, der beim Navigieren zwischen Seiten verwendet wird, oder legt diese fest.

DefaultNavigationTransitionInfoProperty

Gibt die DefaultNavigationTransitionInfo-Abhängigkeitseigenschaft an.

Dispatcher

Ruft den CoreDispatcher ab, dem dieses Objekt zugeordnet ist. CoreDispatcher stellt eine Funktion dar, die auf das DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen