2 つの異なるタイプの DockPanels を作成したいと考えています。ユーザーが 1 つのリンクをクリックすると、DockPanel #1 が読み込まれ、それ以外の場合は #2 が読み込まれます。
それらを動的に交換できますか? 私はWPFが初めてです。REALBasic では、GroupPanels を使用し、必要に応じてそれらを交換します。
ありがとう
2 つの異なるタイプの DockPanels を作成したいと考えています。ユーザーが 1 つのリンクをクリックすると、DockPanel #1 が読み込まれ、それ以外の場合は #2 が読み込まれます。
それらを動的に交換できますか? 私はWPFが初めてです。REALBasic では、GroupPanels を使用し、必要に応じてそれらを交換します。
ありがとう
コントロールを動的に作成し、そのコンテンツを他のコントロールで埋めることができます。または、両方のタイプを配置して、表示したくないタイプを非表示にすることもできます。
MSDN Magazine の Josh Smith の MVVM 記事をご覧ください。Josh は多くの人から MVVM の第一人者と見なされており、この記事では基本をうまく説明しています。
それを念頭に置いて、私はおそらくあなたのアプリをMVVMアプリケーションとして実行します.
モデルは「まさに」あなたのデータモデルになります(MVCのように)。
次に、各パネルのビューがあります。各ビューは、DataTemplate (記事のように) または UserControl (他の多くの場所でも行ったことがあり、見たように) として設定できます。そうすることでモジュール化され、拡張や保守などが容易になります。
MainWindow は実際にはビューと見なされ、その上に他のビューを配置します。
すべてのビューは、1 つ以上の ViewModel クラスによって制御されます。いくつあるかは、デザインによって異なります。一般に、明確な機能がある場合、View と ViewModel の間に多かれ少なかれ 1 対 1 の関係があります (ただし、1 つの ViewModel で複数の View を共有することはできます)。通常、すべてをまとめるための単一の「メイン ビューモデル」クラスもあります。
問題の一般的な説明を考えると、ViewModel には、ユーザーがリンクを選択したときに処理されるコマンド (または複数のコマンド) が含まれている可能性があります。このコマンドは、表示されるビューを制御する何らかのプロパティを設定する可能性があります (通常はバインディングを介して)。
申し訳ありませんが、これ以上詳しく説明することはできませんが、そうするとしたら、あなたのデザインについてもっと知る必要があり、さらに多くのことを書かなければならなくなります。これは、このフォーラムではあまり適切ではありません.