以Model为核心的表单设计器的思路
2010-10-09 08:16:24 来源:WEB开发网查看原图(大图)
从上图可以看出两种机制是差不多的。
mvc中有ModeL和ViewModel两个概念。Model是一般都固定不变的,编译之后就会存在dll,所以通过下面代码使用反射来生成表单。
1 System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.OpenFileDialog();
2 dlg.AutoUpgradeEnabled = false;
3 if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
4 {
5 string fileName = dlg.FileName;
6 txtPath.Text = fileName;
7 System.Reflection.Assembly ass;
8 Type[] types;
9 ass = System.Reflection.Assembly.LoadFile(fileName);//要绝对路径
10 //获取所以的实体类
11 types = ass.GetTypes();
12 foreach(Type type in types)
13 {
14 ListBoxItem li = new ListBoxItem();
15 li.Content = type.Namespace+"."+type.Name;
16 lbxModel.Items.Add(li);
17
18 }
19
20
21
22 }
对于ViewModel,我计划先使用SQL语句生成ViewModel的结构和代码,然后生表单。
更多精彩
赞助商链接