我正在尝试第一次使用MVVM的应用程序。在阅读了一些内容之后,我想我可能会误解模型中的内容。创建MVVM的模型部分
我现在所有的应用程序都会请求获取一些数据,显示它,允许用户编辑它,并在发生更改时保存它。
这是我当前设置的一个示例。我阅读了一些员工数据,这些数据返回了员工组(“经理”,“副总裁”等)。每个组都包含一个人员列表。我创建了一个接口来表示组:
public interface IEmployeeGroup : INotifyPropertyChanged
{
bool IsDirty { get; set; }
string GroupName { get; set; }
ObservableCollection<IPerson> People { get; set; }
}
public interface IPerson : INotifyPropertyChanged
{
bool IsDirty { get; set; }
string PersonName { get; set; }
int Id { get; set; }
}
然后,我创建实现这些接口的具体EmployeeGroup和Person类。这就是他们所做的,公开指定的属性。
这就是我所有的模型。
我的视图模型实现了以下接口:
public interface IEmployeeGroupsViewModel
{
ICommand AddEntryCommand { get; }
ICommand SaveCommand { get; }
ObservableCollection<IEmployeeGroup> EmployeeGroups { get; set; }
ObservableCollection<IPerson> People { get; set; }
}
视图模型进行调用,以获得实际的数据,创建EmployeeGroup和Person对象,然后返回他们的属性绑定到视图。当用户想要保存更改时,视图模型会使呼叫保持更改。
我是否在我的视图模型中放置太多,应该放在模型中?现在我的模型什么都不做,它们只是代表对象的类。
如果我在这里偏离轨道,有人可以给我一些建议吗?例如,我将如何改变我的上述情况?
谢谢。