NavigationThemeTransition Kelas

Definisi

Menyediakan animasi navigasi halaman.

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

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Tip

Untuk informasi selengkapnya, panduan desain, dan contoh kode, lihat Transisi halaman.

Jika Anda memiliki aplikasi Galeri WinUI 2 yang terinstal, klik di sini untuk membuka aplikasi dan lihat Transisi Halaman beraksi.

Keterangan

Dengan Windows 10, versi 1803, Bingkai menggunakan NavigationThemeTransition untuk menganimasikan navigasi antar Halaman secara default.

Anda dapat menggunakan NavigationThemeTransition untuk menambahkan transisi animasi saat aplikasi Anda menavigasi di antara berbagai bagian konten dalam Bingkai. Anda dapat menambahkan NavigationThemeTransition ke koleksi TransisiHalaman yang sedang dinavigasi, atau koleksi ContentTransitions untuk Bingkai navigasi. Secara umum, kami sarankan Anda menggunakan properti ContentTransitions bingkai untuk memastikan bahwa transisi terjadi untuk semua halaman navigasi.

Contoh ini memperlihatkan NavigationThemeTransition yang ditambahkan ke koleksi ContentTransitions dari Bingkai.

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

Dalam Windows 10, dua animasi berbeda disediakan untuk navigasi antar halaman dalam aplikasi. Animasi navigasi diwakili oleh subkelas NavigationTransitionInfo.

  • Penyegaran Halaman: Penyegaran halaman adalah animasi default untuk navigasi halaman. Ini adalah kombinasi dari animasi slide up dan memudar dalam animasi untuk konten masuk. Anda harus menggunakan refresh halaman saat menggunakan navigasi tingkat atas seperti menu navigasi.

Animasi refresh halaman diwakili oleh kelas EntranceNavigationTransitionInfo . Anda dapat menggunakan properti terlampir EntranceNavigationTransitionInfo.IsTargetElement untuk menerapkan gerakan refresh halaman ke subset halaman; misalnya, semua konten tidak termasuk UI perintah halaman.

  • Penelusuran Masuk: Anda harus menggunakan penelusuran animasi saat pengguna berinteraksi dengan UI di halaman yang mewakili tautan ke halaman lain. Misalnya, di halaman yang mewakili daftar album, ketika pengguna mengklik item album, harus ada latihan dalam transisi ke halaman album.

Latihan dalam animasi diwakili oleh kelas DrillInNavigationTransitionInfo .

Secara default, NavigationThemeTransition memutar animasi refresh halaman. Namun, Anda dapat mengambil alih perilaku ini dengan mengatur properti DefaultNavigationTransitionInfo dari NavigationThemeTransition. Nilai NavigationTransitionInfo dari properti ini digunakan untuk semua navigasi secara default.

Anda dapat menentukan animasi yang akan digunakan untuk navigasi tertentu dengan menggunakan kelebihan beban Frame.Navigate yang mengambil 3 parameter.

Dalam contoh ini, saat pengguna "menelusuri" dari daftar album ke halaman yang mewakili album tertentu, aplikasi penjelajahan musik meminta latihan di animasi.

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

Selain itu, Anda dapat menggunakan Frame.GoBack(NavigationTransitionInfo) untuk memutar transisi tertentu saat menavigasi kembali di tumpukan belakang Bingkai . Ini dapat berguna ketika Anda memodifikasi perilaku navigasi secara dinamis berdasarkan ukuran layar; misalnya, dalam skenario master/detail responsif. Untuk contoh selengkapnya, lihat sampel master/detail XAML.

SuppressNavigationTransitionInfo

Anda dapat menggunakan SuppressNavigationTransitionInfo di tempat subjenis NavigationTransitionInfo lainnya ketika Anda ingin menghindari pemutaran animasi apa pun selama navigasi.

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

Konstruktor

NavigationThemeTransition()

Menginisialisasi instans baru dari kelas NavigationThemeTransition .

Properti

DefaultNavigationTransitionInfo

Mendapatkan atau mengatur transisi default yang digunakan saat menavigasi antar halaman.

DefaultNavigationTransitionInfoProperty

Mengidentifikasi properti dependensi DefaultNavigationTransitionInfo .

Dispatcher

Mendapatkan CoreDispatcher yang dikaitkan dengan objek ini. CoreDispatcher mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI bahkan jika kode dimulai oleh utas non-UI.

(Diperoleh dari DependencyObject)

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif.

(Diperoleh dari DependencyObject)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan.

(Diperoleh dari DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Berlaku untuk

Lihat juga