【发布时间】:2012-09-11 10:35:02
【问题描述】:
作为 MVVM 的新手,我需要了解 MVVM,并且还需要 cmets 来处理我拥有的一些基本查询。
我在我的测试项目中实现了 INotifyPropertyChanged 例如:一个员工类,读取数据,在表单上显示,编辑数据,提交,使用 MVVM 更新员工源。
但需要一个想法,我们如何将以下代码制作为完整的 sln?
- 要启用/禁用按钮,如何实现ICommand接口?
- 什么是 MVVM 中的控制器?
- 从 UI,流程如何进入模型?
- 接口 INotifyPropertyChanged 应该在模型或视图模型上实现?
- 为什么我们在 MVVM 中需要 ICommand 接口和 ObservableCollection?
- 我们能否拥有适用于 Windows 的 MVVM 或仅适用于 WPF?
- 为什么大家都强调先实现模型?
任何可以解释基本用法的好链接 我们必须在 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));
}
}
}
提前谢谢...
【问题讨论】: