mvvm模式下乙個簡單的增刪改示例。其中還存在部分的問題,會逐步修改。但是增刪改已經實現
先看一下專案分層。
對上一節中的**進行了修改。
model層中的student.cs
public class student:inotifypropertychanged
set
}public string studentname
set}
public double studentscore
set}
model層中的students.cs
public class students
,new student,
new student,
new student,
};return studentlist;
}public static void addstudent(student student)
public static void updatestudent(student student)}}
public static void deletestudent(int studentid)}}
明顯的在專案中多了一層mvvmcommands。其中類實現了icommand介面。
mvvmcommands層中的addstudentcommand.cs
public class addstudentcommand : icommand
public bool canexecute(object parameter)
public event eventhandler canexecutechanged
remove
}public void execute(object parameter)
mvvmcommands層中的updatestudentcommand.cs
public class updatestudentcommand : icommand
public bool canexecute(object parameter)
public event eventhandler canexecutechanged
remove
}public void execute(object parameter)
mvvmcommands層中的deletestudentcommand.cs
public class deletestudentcommand : icommand
public bool canexecute(object parameter)
public event eventhandler canexecutechanged
remove
}public void execute(object parameter)
將viewmodel層中的studentviewmodel.cs進行行如下修改
public class studentviewmodel
public observablecollectionstudentlistinfo
set}
public int id
set
}public string name
set
}public double score
set
}public icommand addstudentcommand
}public icommand upadtestudentcommand
}public icommand deletestudentcommand
}public void addstudents()
public void updatestudents()
public void deletestudents()
最後看看前台展示的**
cs**
public partial class mainwindow : window
private void button1_click(object sender, routedeventargs e)
if (check == 1)
if(check == 2)
}private void radiobutton1_checked(object sender, routedeventargs e)
private void radiobutton2_checked(object sender, routedeventargs e)
private void radiobutton3_checked(object sender, routedeventargs e)
}最終效果圖:
MVVM設計模式學習
mvvm是mvc模式的變種,實現了邏輯與介面的分離。mvvm模式分為model view和viewmodel。為了解決現實世界中的問題,我們將現實世界中的事物加以抽象,即得到了model。但model無法與我們的使用者進行互動,所以,我們需要建立乙個介面,該解開可以與使用者輸入裝置進行互動,於是我們...
MVVM設計模式
mvvm是model view viewmodel的簡寫。微軟軟體 ui層更加細節化 可定製化。同時,在技術層面,wpf也帶來了 諸如binding dependency property routed events command datatemplate controltemplate等新特性。...
MVVM設計模式
解釋view是檢視,就是dom 對應檢視也就是html部分 代表ui元件,它負責將資料模型轉化成ui展現出來。model是模型,就是vue元件裡的data,或者說是vuex裡的資料 代表資料模型,也可以在model中定義資料修改和操作的業務邏輯。viewmodel 監聽模型資料也就是data的的改變...