Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menavigasi antara pandangan dalam WPF MVVM tanpa kerangka luaran?
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:
<code class="language-xml"><DataTemplate DataType="{x:Type ViewModels:MainViewModel}"><MainView /></DataTemplate> ...</code>
Tukar paparan daripada ViewModel utama
Dalam MainViewModel, cipta sifat ViewModel yang boleh ditetapkan kepada model paparan yang berbeza:
<code class="language-csharp">public BaseViewModel ViewModel { get; set; }</code>
Untuk bertukar kepada paparan lain, hanya tetapkan model paparan yang sepadan kepada sifat ini:
<code class="language-csharp">ViewModel = new PersonViewModel();</code>
Menavigasi paparan daripada subview
Untuk dapat menavigasi daripada subview, isytiharkan arahan dalam MainViewModel:
<code class="language-csharp">public ICommand DisplayPersonView { get { return new RelayCommand(action => { ViewModel = new PersonViewModel(); }, canExecute => { ... }); } }</code>
Dalam subview XAML, ikat sifat Perintah butang pada ICommand ini:
<code class="language-xml"><Button Command="{Binding DisplayPersonView}" /></code>
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!