【问题标题】:MVVM Implementation QueryMVVM 实现查询
【发布时间】:2012-09-11 10:35:02
【问题描述】:

作为 MVVM 的新手,我需要了解 MVVM,并且还需要 cmets 来处理我拥有的一些基本查询。

我在我的测试项目中实现了 INotifyPropertyChanged 例如:一个员工类,读取数据,在表单上显示,编辑数据,提交,使用 MVVM 更新员工源。

但需要一个想法,我们如何将以下代码制作为完整的 sln?

  1. 要启用/禁用按钮,如何实现ICommand接口?
  2. 什么是 MVVM 中的控制器?
  3. 从 UI,流程如何进入模型?
  4. 接口 INotifyPropertyChanged 应该在模型或视图模型上实现?
  5. 为什么我们在 MVVM 中需要 ICommand 接口和 ObservableCollection?
  6. 我们能否拥有适用于 Windows 的 MVVM 或仅适用于 WPF?
  7. 为什么大家都强调先实现模型?

任何可以解释基本用法的好链接 我们必须在 MVVM 中实现的所有接口才能说我的 MVVM 实现已完成?

class EMP
{
    public EMP()
    {

    }

    public string EmpName { get; set; }
    public string EmpID { get; set; }

}


class EmpVModel: INotifyPropertyChanged
{
    public EmpVModel()
    {
        Employees = GetEmployeeList();
    }

    ObservableCollection<EMP> GetEmployeeList()
    {
        ObservableCollection<EMP> objEmp = new ObservableCollection<EMP>();
        objEmp.Add(new EMP { EmpName = "A", EmpID = "1" });
        return objEmp;

    }

    public event PropertyChangedEventHandler PropertyChanged;
    public ObservableCollection<EMP> _Emp;

    public ObservableCollection<EMP> Employees
    {
        get { return _Emp; }
        set { _Emp = value; RaiseChange("Employees");  }
    }

    public void RaiseChange(string Employee)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(Employee));
        }
    }
}

提前谢谢...

【问题讨论】:

    标签: c# mvvm


    【解决方案1】:
    【解决方案2】:

    这些问题合二为一。请查看Wikipedia: MVVM,并查看该文章中引用的链接以供进一步阅读。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-30
      • 2017-09-23
      • 2013-12-27
      • 2013-08-16
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 2023-03-29
      相关资源
      最近更新 更多