Navigasi paparan WPF MVVM tanpa rangka kerja luaran
Dalam aplikasi WPF yang menggunakan corak MVVM untuk mengurus berbilang paparan, navigasi antara paparan adalah penting. Artikel ini akan menangani isu penukaran daripada satu paparan ke paparan yang lain, terutamanya apabila Paparan 2 dimuatkan ke dalam tetingkap yang sama selepas menavigasi dari Paparan 1.
Tidak seperti pautan rujukan yang menggunakan MVVM Light atau rangka kerja lain, berikut ialah pendekatan ringkas yang tidak memerlukan kebergantungan luaran. Kaedah ini menggunakan templat data untuk mengaitkan paparan dengan model paparan dan menggunakan ContentControl untuk memaparkan paparan yang dipilih.
Templat data dan pengikatan ViewModel
Dalam sumber seperti App.xaml, tentukan templat data untuk memetakan model paparan kepada paparan sepadannya:
<DataTemplate DataType="{x:Type ViewModels:MainViewModel}"><MainView /></DataTemplate> ...
Tukar paparan daripada ViewModel utama
Dalam MainViewModel, cipta sifat ViewModel yang boleh ditetapkan kepada model paparan yang berbeza:
public BaseViewModel ViewModel { get; set; }
Untuk bertukar kepada paparan lain, hanya tetapkan model paparan yang sepadan kepada sifat ini:
ViewModel = new PersonViewModel();
Menavigasi paparan daripada subview
Untuk dapat menavigasi daripada subview, isytiharkan arahan dalam MainViewModel:
public ICommand DisplayPersonView { get { return new RelayCommand(action => { ViewModel = new PersonViewModel(); }, canExecute => { ... }); } }
Dalam subview XAML, ikat sifat Perintah butang pada ICommand ini:
<Button Command="{Binding DisplayPersonView}" />
Dengan mengikut langkah ini, anda boleh menavigasi paparan dengan cekap dalam aplikasi WPF MVVM anda, memastikan pengalaman pengguna yang lancar.
Atas ialah kandungan terperinci Bagaimana untuk menavigasi antara pandangan dalam WPF MVVM tanpa kerangka luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!