2012-09-11 58 views
0

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

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

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

  1. 要启用/禁用按钮,我该如何实现ICommand接口?
  2. 什么是MVVM中的控制器?
  3. 从UI中,流程如何进入模型?
  4. 接口INotifyPropertyChanged应该在model或viewmodel上实现吗?
  5. 为什么我们需要在MVVM中使用ICommand接口和ObservableCollection?
  6. 我们可以有Windows的MVVM还是仅适用于WPF?
  7. 为什么eveyone首先强调实施模型?

任何好的链接,将解释的基本用法 所有的接口,我们必须在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)); 
     } 
    } 
} 

在此先感谢...

回答

0

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