0

データレイヤー

エンティティとしてOrderクラスがあります。このOrderエンティティは、私のモデル オブジェクトです。

注文はさまざまなタイプにすることができます

  • B

  • D

また、Order クラスには、名前、作成時間などの共通のプロパティがある場合があります。

また、注文タイプに基づいて、一般的ではないさまざまなフィールドがあります。

レイヤーを表示

ビューには以下が含まれます

  1. メインメニュー
  2. リストビュー

メイン メニューには、ドロップダウンから選択したタイプに基づいて注文を作成するために使用されるドロップダウン メニュー ボタンが含まれています。ドロップダウンには注文タイプ (A、B、C、D) が含まれています。

注文タイプに基づいて、さまざまなユーザー コントロールがあります。たとえば、ユーザーがタイプ A の注文を作成することを選択した場合、異なる入力フィールドを持つ別のビューがポップアップ表示されます。

したがって、注文タイプごとに 4 つのユーザー コントロールがあります。

ユーザーがドロップダウンから A オプションを選択すると、タイプ A の注文が作成され、その逆も同様です。

以下は、ユーザーがこれまでに作成した注文のリストを含むリスト ビューです。

特定の注文を編集するには、リスト ビューの行をダブルクリックします。ユーザーがリストビューでクリックした注文タイプに基づいて、その注文タイプのビューが編集モードで開きます。たとえば、ユーザーがリスト ビューから注文タイプ A を選択すると、注文タイプ A のビューが編集モードで開きます。

上記のシナリオでのビュー モデルの対話モデルを提案してください。

私はMVVMとWPFを初めて使用するため、クエリが非常に基本的なものである場合は申し訳ありません。

4

2 に答える 2

0

特定の設計図を提示するのではなく、問題を別の方法で見ることを提案します。

xaml を作成します。では、データを任意の方法で整理して、必要なメソッドのセットを公開できるとしたら、それはどのようなものになるでしょうか? これを想像するとき、エンティティの実際の構造について考えることさえしないでください。さらに継承?以下?あなた次第 - あなたのビューに最適なものは何でも。

さて、あなたが今説明したものは何でもViewModelです。そのための公開 API を作成します。次に、実際の基になるエンティティに接続します。

于 2010-03-14T10:32:18.120 に答える
0

選択した注文タイプの正しいビューを作成する方法が主な問題ですか? つまり、ドロップダウンまたは ListView がどのように正しい Order ビューを表示するようにトリガーするか。

それがあなたが得ているものである場合、次のようなものが必要になるでしょう: ユーザーが注文のリストをクリックすると (たとえば)、基になる ObservableCollection を変更し、何らかの通知または強制を送信する必要があります。ある種の Workspace オブジェクトに対して何かを行うためのものです。それを理解する最善の方法は、Josh Smithによる MvvmDemoAppと、まだ読んでいない場合は彼の記事を見ることです。そこから、彼が WorkspaceViewModel を実装する方法に焦点を合わせます。それがアプローチである可能性があるため、またはそのようなものである可能性があります。オーダービューのユーザーコントロールを求めています。(私があなたを正しく理解していれば)。

于 2010-03-14T11:15:35.803 に答える