0

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

我在我的测试项目中实现了 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));
        }
    }
}

提前致谢...

4

2 回答 2

0

您可以从这里开始:http: //msdn.microsoft.com/en-us/magazine/dd419663.aspx

然后转到http://joshsmithonwpf.wordpress.com/advanced-mvvm/

于 2012-09-11T10:44:55.980 回答
0

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

于 2012-09-11T10:53:35.273 回答