wpf mvvm Lihat navigasi
Dalam aplikasi MVVM WPF, navigasi antara pandangan adalah penting. Artikel ini bertujuan untuk menyelesaikan masalah navigasi dari satu pandangan ke yang lain, seperti beralih dari paparan 1 untuk melihat 2 dan mengikuti pandangan.
ViewModellocator dan navigasi
Kod yang disediakan oleh kod tersebut memberi tumpuan kepada mod ViewModellocator. Walau bagaimanapun, ia menimbulkan persoalan mengenai kesedarannya. Fungsi CreateMain () yang disebutkan dalam kod tidak ditakrifkan, dan pengguna keliru tentang mekanisme penggunaannya dan menukar pandangannya.
Kaedah MVVM yang dipermudahkan
Untuk memudahkan pelaksanaan MVVM, kami mencadangkan kaedah alternatif yang menggunakan antara muka dan datatemplates inotifypropertychaanged untuk mengikat pandangan ke model paparan. Langkah 1: Tentukan kelas BaseViewModel
Buat kelas asas BaseViewModel yang mengandungi atribut dan perintah awam. Semua model paparan boleh dilanjutkan.
Langkah 2: Buat mengikat
Dalam app.xaml, tentukan datatemplates untuk menyambungkan model paparan ke pandangan masing -masing.
<code class="language-csharp">public class BaseViewModel : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; }</code>
Langkah 3: Gunakan ContentControl
Gunakan ContentControl dan mengikat ke atribut ViewModel untuk memaparkan model paparan.
<code class="language-xml"><DataTemplate DataType="{x:Type ViewModels:MainViewModel}"><MainView></MainView></DataTemplate></code>
Untuk menukar paparan, tetapkan atribut ViewModel dalam MainViewModel.
Langkah 5: Navigasi dari pandangan lain
<code class="language-xml"><ContentControl Content="{Binding ViewModel}"></ContentControl></code>
untuk membolehkan tontonan dari sub -paparan untuk melihat navigasi, tentukan arahan di MainViewModel, dan lawati mereka dengan mengikatnya.
Kaedah ini menyediakan pelaksanaan navigasi MVVM yang jelas dan ringkas tanpa bergantung pada pakej alat luaran.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Navigasi Paparan Mudah dalam WPF MVVM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!