
MVVM是Model-View-ViewModel的缩写形式,它通常被用于WPF或Silverlight开发。
Model——可以理解为带有字段,属性的类。例如学校类,教师类,学生类等
View——可以理解为我们所看到的UI。前端界面。
View Model在View和Model之间,起到连接的作用,并且使得View和Model层分离。View Model不仅仅是Model的包装,它还包含了程序逻辑,以及Model扩展,例如,如果Model中有一个公开属性不需要在UI上显示,此时我们可以不再View Model中去定义它。

Command存放如何进行事件执行的命令,RelayCommand。(基本不变,这里只实现了简单的命令执行方法)
DataHelper存放测试数据,或者是从数据库读取到数据
Model用于存放类数据Student类等
View存放前端界面
ViewModel存放View和Model之间处理的事件及方法,属性。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace MVVMDemo.Commands
{
public class RelayCommand :ICommand
{
#region Fields
private Action _execute;
private Func _canExecute;
#endregion
public RelayCommand(Action execute)
: this(execute, null)
{
}
public RelayCommand(Action execute, Func canExecute)
{
if (execute == null)
throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
#region ICommand Member
public event EventHandler CanExecuteChanged
{
add
{
if (_canExecute != null)
{
CommandManager.RequerySuggested += value;
}
}
remove
{
if (_canExecute != null)
{
CommandManager.RequerySuggested -= value;
}
}