MVVM パターンを使用した C# WPF ページ ナビゲーションの簡素化
WPF アプリケーションのページ間の移動は、Model-View-ViewModel (MVVM) デザイン パターンを使用して大幅に合理化できます。 このアプローチは、複雑なクラスとメソッドの階層に代わる、よりクリーンで保守しやすい代替手段を提供します。
暗黙的な DataTemplate の活用
WPF における MVVM ベースのナビゲーションの中核は、暗黙的な DataTemplates
の効果的な使用です。 WPF の組み込みメカニズムは、ContentControl
の Content
プロパティに割り当てられたデータ型に基づいて、正しいデータ テンプレートを自動的に選択して適用します。
実装手順
ページ コントロールの作成: 各ページ (UserControls
、Pages
など) に個別のユーザー コントロール (WelcomePage
または LoginPage
) を開発します。
ページ ビュー モデルの定義: プロパティの変更を管理するための INotifyPropertyChanged
を実装するインターフェイスとビュー モデル クラスを作成します。
ページ識別子の列挙の作成: ハードコードされた文字列を避け、列挙 (PageName
) を使用してさまざまなページを表します。
MainViewModel
の実装: MainViewModel
は、ページ ナビゲーション、データ バインディング、および全体的なページ コントロールを管理します。
XAML 統合
MainWindow.xaml
内:
DataContext
をMainViewModel
に設定します。DataTemplates
を定義し、各データ型を対応するビューモデルに関連付けます。ContentControl
または ContentPresenter
を使用して、ページ コンテンツを動的に表示します。分離コード (MainViewModel.cs
)
Pages
) を保存するための辞書を維持します。SelectedPage
プロパティを作成し、それを Content
または ContentControl
の ContentPresenter
プロパティにバインドします。SelectPageCommand
に基づいてページ ナビゲーションを処理するコマンド (PageName
) を実装します。MVVM ナビゲーションの利点
以上がMVVM は C# WPF アプリケーションでの動的なページ ナビゲーションをどのように簡素化できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。