MVVM实现查询

时间:2012-09-11 10:35:03

标签: c# mvvm

作为MVVM的新手,我需要了解MVVM,还需要对我所拥有的几个基本查询进行评论。

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

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

  1. 要启用/禁用按钮,我该如何实现ICommand接口?
  2. MVVM中的控制器是什么?
  3. 从UI,流程如何进入模型?
  4. 接口INotifyPropertyChanged应该在model或viewmodel上实现吗?
  5. 为什么我们在MVVM中需要ICommand接口和ObservableCollection?
  6. 我们可以使用适用于Windows的MVVM,还是仅适用于WPF?
  7. 为什么eveyone首先强调实施模型?
  8. 任何可以解释基本用法的好链接 我们必须在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));
            }
        }
    }
    

    提前致谢...

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

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