与View绑定的Model和ViewModel

时间:2012-08-07 04:55:13

标签: wpf mvvm

情境:

  1. 我有CustomerOrder查看模型
  2. 它包含一个下拉列表(针对客户)和多个文本框(针对订单明细)
  3. 在View Model中,Customer下拉列表绑定到Customer Model对象(Id,Name)类型的变量CustomerList
  4. 下拉列表的选定客户绑定到客户模型对象
  5. 客户模型通过BaseModel实现IDataErrorInfo
  6. 我的问题: 1.现在,在ViewModel中,要跟踪Combobox是否包含有效的Customer,我需要在View Model中实现IDataErrorInfo

    1. 我的模型还通过BaseModel实现IDataErrorInfo
    2. 问题:

      1. 我不想在2个地方写IDataErrorInfo。你能建议吗?

1 个答案:

答案 0 :(得分:0)

我想说 - 如果你绑定到你的viewmodel属性并想要验证你必须在那里实现IDataErrorInfo。你可以做的是将验证“委托”给你的模型。

//视图模型

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

            return this._mymodel[columnName];
        }
    }