WPF學習系列 MVVM設計模式 二 簡單的增刪改

2021-06-15 01:03:44 字數 2521 閱讀 9087

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的的改變...