0

シナリオ:

  1. 私はCustomerOrderビューモデルを持っています
  2. 1 つのドロップダウン リスト (顧客用) と複数のテキスト ボックス (注文の詳細用) が含まれています。
  3. View Model では、Customer ドロップダウン リストは Customer Model オブジェクト (ID, Name) 型の変数 CustomerList にバインドされます。
  4. ドロップダウン リストの選択された Customer は Customer モデル オブジェクトにバインドされます
  5. 顧客モデルは、BaseModel を介して IDataErrorInfo を実装します

私の問題: 1. ViewModel で、Combobox に有効な Customer が含まれているかどうかを追跡するには、View Model に IDataErrorInfo を実装する必要があります。

  1. 私のモデルは、BaseModel を介して IDataErrorInfo も実装しています

質問:

  1. 2箇所にIDataErrorInfoを書きたくない。それについて提案してもらえますか?
4

1 に答える 1

0

ビューモデルのプロパティにバインドし、検証が必要な場合は、そこに IDataErrorInfo を実装する必要があります。できることは、検証をモデルに「委任」することです。

//ビューモデル

    public string this[string columnName]
    {
        get 
        {
            //todo: other validationlogic which is not in the model

            return this._mymodel[columnName];
        }
    }
于 2012-08-07T05:24:43.417 に答える