MVVM模式下一个简单的增删改示例。其中还存在部分的问题,会逐步修改。但是增删改已经实现
先看一下项目分层。
对上一节中的代码进行了修改。
Model层中的Student.cs
public class Student:INotifyPropertyChanged
{
private int studentID;
private string studentName;
private double studentScore;
public event PropertyChangedEventHandler PropertyChanged;
public int StudentID
{
get { return studentID; }
set
{
studentID = value;
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs("StudentID"));
}
}
public string StudentName
{
get { return studentName; }
set
{
studentName = value;
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs("StudentName"));
}
}
public double StudentScore
{
get { return studentScore; }
set
{
studentScore = value;
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs("StudentScore"));
}
}
Model层中的Students.cs
public class Students
{
private static ObservableCollection<Student> studentList = null;
public static ObservableCollection<Student> SetStudentList()
{
studentList = new ObservableCollection<Student>()
{
new Student{StudentID = 1,StudentName="A",StudentScore = 90.5},
new Student{StudentID = 2,StudentName="B",StudentScore = 98.6},
new Student{StudentID = 3,StudentName="C",StudentScore = 83.2},
new Student{StudentID = 4,StudentName="D",StudentScore = 71.5},
};
return studentList;
}
public static void AddStudent(Student student)
{
studentList.Add(student);
}
public static void UpdateStudent(Student student)
{
for (int i = 0; i < studentList.Count; i++)
{
if (studentList[i].StudentID == student.StudentID)
{
studentList[i].StudentName = student.StudentName;
studentList[i].StudentScore = student.StudentScore;
}
}
}