diff --git "a/2020302111273\346\236\227\345\256\207\350\261\252-\347\254\254\344\270\203\345\221\250\350\257\276\345\220\216\347\273\203\344\271\240\344\275\234\344\270\232.md" "b/2020302111273\346\236\227\345\256\207\350\261\252-\347\254\254\344\270\203\345\221\250\350\257\276\345\220\216\347\273\203\344\271\240\344\275\234\344\270\232.md"
new file mode 100644
index 0000000000000000000000000000000000000000..22573f2eb8b581040e6af786103ace63631eab60
--- /dev/null
+++ "b/2020302111273\346\236\227\345\256\207\350\261\252-\347\254\254\344\270\203\345\221\250\350\257\276\345\220\216\347\273\203\344\271\240\344\275\234\344\270\232.md"
@@ -0,0 +1,70 @@
+## 一、MVVM的基本思想
+
+ 由于前端开发混合了HTML、CSS和JavaScript,而且页面众多,所以,代码的组织和维护难度越来越复杂,这就是MVVM出现的原因。
+
+ MVVM最早由微软提出,它借鉴了桌面应用程序MVC思想,在前端页面中,把Model用纯JavaScript对象表示,View负责显示,两者做到了最大限度地分离。
+
+ 把Model和View关联起来的就是ViewModel(VM),ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。
+
+ ViewModel如何编写?需要用JavaScript编写一个通用的ViewModel,这样,就可以复用整个MVVM模型了。
+
+ 使用MVVM架构能够便于程序员们开发和维护代码,主要的好处还有这些:
+ 1. 设计人员可以用设计工具很容易的设计UI,而且不需要写任何代码。
+ 2. 你可以更好的设计UI,而且可以让即使不是开发人员的人使用。
+ 3. 可以先设计UI或者与开发同时设计。
+ 4. 当UI全部改变时,代码可以不改变。
+
+
+
+## 二、熟悉WPF窗体应用程序创建流程
+
+**WPF窗体应用程序创建流程**
+
+1. 打开VS
+2. 点击新建项目
+3. 选中WPF应用(.NET Framework)
+4. 配置项目名称、路径等信息
+
+**掌握各类控件的基本用法**
+
+1. button控件
+① 简单按钮的使用
+WPF窗口视图xmal 中绑定Button事件,双击按钮会在后台代码中自动生成按钮的Click事件:
+
+② 代码中动态注册
+简单按钮处理通过添加Click事件可以达到需求,而如果想要在代码中动态注册也是可以的:
+设置Button组件的Name属性,设置BorderBrush,FontWeight等属性可改变 Button 控件文本格式。
+
+③动态生成按钮
+如果想动态生成按钮,也是可以的。添加Window_Loaded,在窗口加载完成时调用Window_Loaded,在后台控制添加函数实现按钮的动态生成。
+实例化一个按钮组件,可以设置该组件的各种属性,注册按钮事件,然后将新生成的组件添加到所需Canvas中。
+
+2. label控件
+Label使用的是Content属性而不是Text属性。这是因为Label内部可以放置任意类型的控件而不仅仅是文本。当然这个内容也可以是一个字符串。
+事实上,Label 在预设中会有一点 padding,让文字距离左上角几个 pixels。这不像 TextBlock 控制项允许手动指定。
+
+3. textbox控件
+TextBox控件非常常用。可以不使用任何属性,就能有一个完整并可编辑的文本字段。
+
+① 单行TextBox
+尝试在文本框里鼠标右击。会得到一个选项菜单,允许你和Windows剪贴板一块使用这个TextBox。默认的撤销和重做的键盘快捷方式(Ctrl + Z 和 Ctrl + Y)也应该是起作用的,并且所有这些功能你能夠不受限制的使用。
+
+② 多行TextBox
+文本框控件默认是一个单行控件。不过,使一个TextBox控件变成一个多行编辑器是非常简单的。两个属性:AcceptsReturn使得TextBox变成一个多行控件,允许使用 回车/返回键进入到下一行, 和TextWrapping属性,当内容到达一行的尾部时,它会使文本能够自动被包裹起来。
+
+③ 有拼写检查的TextBox
+作为额外的好处,TextBox控件实际上带有英语和其他几种语言(as of writing、英语、法语、德语和西班牙语)的自动拼写检查。它非常类似于微软Word,其中拼写错误被划线,可以右键单击它的建议替代品。
+
+4. listbox控件
+ListBox 控件是下一个控件,它添加了更多功能。主要区别之一是 ListBox 控件实际上处理选择,允许最终用户从列表中选择一个或多个项目并自动为其提供视觉反馈。
+
+5. dataGrid控件
+在WPF中,主要使用DataGrid控件进行表格化数据的展示,控件提供一个用户界面,用于 ADO.NET 数据集(ADO.NET是微软的一个组件库,作为数据访问接口使用,详细内容直接参考百科ADO.NET),并显示表格数据和启用数据源更新。DataGrid 控件设置为有效数据源时,则自动填充该控件,同时根据数据的形状创建列和行。 DataGrid 控件可用于显示单个表或显示一组表之间的分层关系。
+
+6. combox控件
+ComboBox 控件在很多方面都类似于 ListBox 控件,但占用的空间要少得多,因为项目列表在不需要时会隐藏起来。ComboBox 控件在 Windows 中的很多地方都有使用,但为了确保每个人都知道它的外观和工作方式
+
+## 三、实验准备
+https://gitee.com/principlewindows/win-principle-2022/tree/main/labs/lab_1
+已于第五周做完,实验报告撰写中。
+