在做MVVM架构的项目中,因为需求要做一个类别新增的项,要求首先要建立分类,才能建立档案,然后才可以根据类别对商品进行进销存管理和相关操作。由于选取分类的表格数据,与分类修改编辑数据,两者没有额外的数据及其它的别的操作。因而将新增类别与类别修改共用一个窗口(window)即addOrEditWindow。
前台view使用,DataGrid表格来展示数据。itemSource数据源绑定,selectedItem选中子项绑定数据。在ViewModel中使用对应属性存储对应的数据。
问题来了,同一个页面怎么区分时新增还是修改呢?
这里的做法是自定义一个属性,在新增View中的ViewModel的后台类中,添加标记属性代码如下图,默认设为false。用作作新增&修改标记属性,true代表新增,false代表修改。当新增时将该属性设为true,在新增保存页(View)的视图ViewModel对应的类中,新增时使用if判断语句,如果该值为true时进行新增操作。否则进行修改操作。
新增,该情况下,直接新增类别项。
新增过程如下:视图(View)点击新增按钮控件,按钮通过命令执行新增,实例化新增Viewÿ