Menavigasi antara halaman dalam aplikasi WPF dengan cekap memerlukan pendekatan yang tersusun dengan baik. Walaupun penyelesaian tersuai wujud, corak seni bina Model-View-ViewModel (MVVM) menawarkan penyelesaian yang lebih mantap dan boleh diselenggara untuk mengurus peralihan halaman.
MVVM secara elegan memisahkan logik aplikasi daripada antara muka penggunanya. Pemisahan ini penting untuk mengurus senario navigasi yang kompleks. Dengan mencipta kawalan halaman yang berbeza (cth., WelcomePage
, LoginPage
) dan model paparan yang sepadan (cth., WelcomePageViewModel
, LoginPageViewModel
), anda mencapai pemisahan kebimbangan yang bersih.
Tetingkap utama menggunakan ContentControl
untuk memaparkan halaman secara dinamik. Kuncinya ialah untuk menentukan sumber DataTemplate
, setiap satu dipautkan kepada jenis model paparan tertentu melalui sifat DataType
. Ini membolehkan penghurai XAML memilih templat yang betul secara automatik berdasarkan model paparan yang diberikan kepada ContentControl
.
MainWindow.xaml:
<code class="language-xml"><Window.DataContext> <MainViewModel/> </Window.DataContext> <Window.Resources> <DataTemplate DataType="{x:Type WelcomePageViewModel}"> <WelcomePage/> </DataTemplate> <DataTemplate DataType="{x:Type LoginPageViewModel}"> <LoginPage/> </DataTemplate> </Window.Resources> <StackPanel> <StackPanel Orientation="Horizontal"> <!-- Navigation controls could go here --> </StackPanel> <ContentControl Content="{Binding SelectedPage}"/> </StackPanel></code>
Kawalan Halaman (cth., WelcomePage.xaml):
<code class="language-xml"><UserControl> <StackPanel> <!-- Page content --> </StackPanel> </UserControl></code>
Contoh ringkas ini mempamerkan prinsip teras. Pelaksanaan lengkap akan melibatkan penciptaan ViewModels dan pengendalian harta SelectedPage
dalam MainViewModel
untuk mengurus logik navigasi.
Atas ialah kandungan terperinci Bagaimana untuk Mengemudi dengan Cekap Antara Halaman dalam WPF Menggunakan MVVM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!