では、モデルが相互に関連している複雑な集約された ViewModelをどのように表示するのでしょうか?
wpfの弟子はそれについて話したことはありません.なぜそれが不可能なのかを推測してください...
それは本当だと思いますか?
私を理解していませんか?
見てください: CustomerViewModelには多くのOrderViewModelとそれらの多くのProductViewModelがあります。
3 つの ViewModelすべての新しいデータを入力するための3つのワークスペースがあり、さらに、タイプ => customerVMおよび productVM のコレクションを複数選択するための3 つのリストボックス/コンボボ/データグリッドがあります。s, orderVM
新しい顧客/注文/製品が追加されるたびにワークスペースをオフ/オンにする必要がないユーザーにとって、UI が理にかなっているということは、ユーザー エクスペリエンスが悪いということです。この典型的な LOB アプリケーション要件をどのように処理しますか?
編集:
MVVM に WorkSpace タイプのコレクションがあります。すべての ViewModel は WorkSpace クラスから派生するため、ワークスペースにすることができます。Workspaces コレクションは、josh smith の例で ItemsSource にバインドされています。
ステートメント: 成熟した優れた Windows フォーム ユーザー インターフェイスを使用したいのですが、クローズ可能なビューモデルは ありません...データ型に応じて、itemsControl および datatemplated。
ViewModel インスタンスを保持するワークスペースがない場合、MVVM の ViewModel はモデルをコンストラクター パラメーターとして受け取るため、それらをデータ テンプレート化できませんでした。CustomerViewModel の DataType を使用して UserControl を DataTemplating すると、XAML で例外がスローされます。
次に、必要な UI を見てください。ワークスペースはありませんが、3 つの ViewModels = 3 つの UserControls datatemplated は、3 倍のビッグバンを意味します...
なぜ私がMVVMが好きではないのですか?よく考えられていないので、解決策を探しています...
もちろん、ViewModel 別名 DataFormular を ObservableCollection に配置することもできますが、ItemsControl にバインドしたくありません。これら 3 つの UserControl がレイアウト内の特定の位置にあることを望みます。ItemsControl を使用すると、既存のスペースに収まらない場合に新しい Dataformular が追加されてラップされる愚かなキューがあります。それはすべてゴミのレイアウト設計/悪いUIです.
あなたは今私を取得しますか?