博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF MVVM模式不用Prism
阅读量:4322 次
发布时间:2019-06-06

本文共 3746 字,大约阅读时间需要 12 分钟。

上一个例子使用了Prism。这个例子不用Prism。用自己封装的库LiuxhCSDLL,其实也差不多。

一、程序结构

 

二、界面代码以及界面效果

1 
5
6
7
8
9
10
11
12
13
14
15
16
17
18

 

三、抽象出Model

1 public class StudentModel 2     { 3         #region --原有的实现-- 4         //public event PropertyChangedEventHandler PropertyChanged; 5         //public void NotifyPropertyChanged(string propertyName) 6         //{ 7         //    if (PropertyChanged != null) 8         //    { 9         //        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));10         //    }11         //}12 13         //private int studentId;14 15         //public int StudentId16         //{17         //    get { return studentId; }18         //    set { studentId = value; NotifyPropertyChanged("StudentId"); }19         //}20 21         //private string studentName;22 23         //public string StudentName24         //{25         //    get { return studentName; }26         //    set { studentName = value; NotifyPropertyChanged("StudentName"); }27         //}28 29         //private int studentAge;30 31         //public int StudentAge32         //{33         //    get { return studentAge; }34         //    set { studentAge = value; NotifyPropertyChanged("StudentAge"); }35         //}36 37         //private string studentEmail;38 39         //public string StudentEmail40         //{41         //    get { return studentEmail; }42         //    set { studentEmail = value; NotifyPropertyChanged("StudentEmail"); }43         //}44 45         //private string studentSex;46 47         //public string StudentSex48         //{49         //    get { return studentSex; }50         //    set { studentSex = value; NotifyPropertyChanged("StudentSex"); }51         //}52         #endregion53 54         #region --新的实现--55         public int StudentId { get; set; }56         public string  StudentName { get; set; }57         public int StudentAge { get; set; }58 59         public string StudentEmail { get; set; }60         public string StudentSex { get; set; }61         #endregion62     }

 

四、ViewModel

1 public class StudentViewModel:INotifyPropertyChanged 2     { 3  4         public event PropertyChangedEventHandler PropertyChanged; 5         public void NotifyPropertyChanged(string propertyName) 6         { 7             if (PropertyChanged != null) 8             { 9                 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));10             }11         }12 13         public DelegateCommand ShowCommand { get; set; }14         public StudentViewModel()15         {16             ShowCommand = new DelegateCommand();17             ShowCommand.ExecuteCommand = new Action(ShowStudentData);18         }19 20         //public StudentModel Student { get; set; }21         private StudentModel student;22 23         public StudentModel Student24         {25             get { return student; }26             set { student = value;NotifyPropertyChanged("Student"); }27         }28 29         private StudentModel StudentTemp;30 31         public void ShowStudentData(object obj)32         {33             StudentTemp = new StudentModel();34             Student = new StudentModel();35 36             StudentTemp.StudentId = 1;37             StudentTemp.StudentName = "tiana";38             StudentTemp.StudentAge = 19;39             StudentTemp.StudentEmail = "123@qq.com";40             StudentTemp.StudentSex = "大帅哥";41 42             Student = StudentTemp;43         }44     }

 

注:这个程序要引入自己封装的库,LiuxhCSDLL,目前这个库还不够通用,等水平提高了再来把它优化成通用的。

转载于:https://www.cnblogs.com/dotnetHui/p/8004583.html

你可能感兴趣的文章
.net在arraylist用法
查看>>
android程序报错“error launching activity com.android.ddmlib.shellcommandunresponsiveexception”的解决方式...
查看>>
ORACLE中CONSTRAINT的四对属性
查看>>
DbVisualizer Pro 9.5.2中文乱码问题
查看>>
numpy.tile()
查看>>
[bzoj3944] Sum
查看>>
hadoop2.7节点的动态增加与删除
查看>>
Ogre: 天空
查看>>
关于NSDictionary的一点感悟
查看>>
CSS长度单位:px和pt的区别
查看>>
50.分治算法练习: 二分算法: 2703 奶牛代理商 XII
查看>>
Wampserver 403问题
查看>>
mysql日志详细解析
查看>>
解决关闭app权限弹框后无法识别页面对象问题
查看>>
struts2_对Map进行双层迭代
查看>>
asp.net是什么?asp.net、vb.net和c#.net有什么区别?
查看>>
PhotoView
查看>>
hdu 1735(贪心) 统计字数
查看>>
iOS 系统框架结构图
查看>>
uml系列(六)——行为图:活动&状态
查看>>