WPF ナビゲーション: ウィンドウ、ページ、ユーザー コントロールの選択
WPF アプリケーション開発では、インターフェイスのさまざまな部分に移動するには、ウィンドウ、ページ、ユーザー コントロールの間で適切な選択を行う必要があります。各要素には独自の目的があり、特定のシーンに最適です。
ウィンドウ
ウィンドウ オブジェクトは、アプリケーション内の独立したウィンドウを表します。新しいスタンドアロン インターフェイスをユーザーに提示したい場合に最適です。このアプローチは通常、複数のウィンドウを備えた従来のデスクトップ アプリケーションで見られます。
ページ
一方、ページは、単一のウィンドウ内で使用することを目的としたコンテンツのブロックです。これは主に、ブラウザに似た環境で 1 つのウィンドウ内に複数のページをホストする Web ベースのアプリケーションで使用されます。ナビゲーション システムでは、ページによって異なるビュー間の遷移が可能になります。
ユーザーコントロール
ページとは異なり、ユーザー コントロールは、他の標準コントロールと同様に WPF インターフェイスに追加できる再利用可能なカスタム コントロールです。ユーザー コントロールは、カスタム機能 (CalendarControl など) をカプセル化する場合や、複雑な XAML コード (MVVM デザイン パターンのビューなど) を整理する場合に役立ちます。
適切な使用法
異なるウィンドウ間を移動する場合、新しいウィンドウ オブジェクトを作成して表示するのが簡単な解決策です。
<code class="language-csharp">var NewWindow = new MyWindow(); newWindow.Show();</code>
ただし、複数のウィンドウを管理するのは面倒な場合があります。もう 1 つのアプローチは、ContentControl を使用して動的なコンテンツ領域を作成し、現在のビューを表すユーザー コントロールを動的に読み込むことです:
<code class="language-xml"><Window ... x:Class="MyNamespace.MainWindow"> <DockPanel> <ContentControl x:Name="ContentArea"/> </DockPanel> </Window></code>
<code class="language-csharp">ContentArea.Content = new MyUserControl();</code>
複雑なナビゲーションのニーズについては、ビュー管理とビュー間のシームレスな移行に合わせたアプローチを提供する MVVM 設計パターンの使用を検討してください。基本的な例を次に示します:
<code class="language-xml"><Window ... x:Class="SimpleMVVMExample.ApplicationView"> <DockPanel> <Border ... DockPanel.Dock="Left"> <ItemsControl ItemsSource="{Binding PageViewModels}"> ... </ItemsControl> </Border> <ContentControl Content="{Binding CurrentPageViewModel}"/> </DockPanel> </Window></code>
以上がWPF ナビゲーション: Window、Page、UserControl – どれを選択するべきですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。