Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menavigasi antara pandangan dalam WPF MVVM tanpa kerangka luaran?

Bagaimana untuk menavigasi antara pandangan dalam WPF MVVM tanpa kerangka luaran?

Linda Hamilton
Linda Hamiltonasal
2025-01-26 20:26:11971semak imbas

How to Navigate Between Views in WPF MVVM Without External Frameworks?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn