WPF アプリケーションのページ間を効率的に移動するには、適切に構造化されたアプローチが必要です。カスタム ソリューションは存在しますが、Model-View-ViewModel (MVVM) アーキテクチャ パターンは、ページ遷移を管理するためのより堅牢で保守可能なソリューションを提供します。
MVVM は、アプリケーションのロジックをユーザー インターフェイスからエレガントに分離します。 この分離は、複雑なナビゲーション シナリオを管理するために重要です。 個別のページ コントロール (例: WelcomePage
、LoginPage
) とそれに対応するビュー モデル (例: WelcomePageViewModel
、LoginPageViewModel
) を作成することで、懸念事項を明確に分離できます。
メイン ウィンドウは ContentControl
を利用してページを動的に表示します。重要なのは、DataTemplate
リソースを定義することです。各リソースは DataType
プロパティを介して特定の View Model タイプにリンクされます。 これにより、XAML パーサーは、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>
ページ コントロール (例: WelcomePage.xaml):
<code class="language-xml"><UserControl> <StackPanel> <!-- Page content --> </StackPanel> </UserControl></code>
この簡略化された例は、中心となる原則を示しています。 完全な実装には、ViewModel の作成と、ナビゲーション ロジックを管理するための SelectedPage
内の MainViewModel
プロパティの処理が含まれます。
以上がMVVM を使用して WPF のページ間を効率的に移動するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。