private async void AddBtn_Click(object sender, RoutedEventArgs e) { if ((domainName == null) || (objTypeName == null)) { return; } //判断是否有自定义的输入界面 if (DllImport.domainExtension.ContainsKey(domainName)) { Extensions extensions = DllImport.domainExtension[domainName]; IEnumerable <ObjEditorWin> list = extensions.objEditorWins(); if (list != null) { ObjEditorWin win = list.Where(x => x.TargetObjType == objTypeName).FirstOrDefault(); if (win != null) { IObjEditorWin myPropertyWin = win.Func(); (myPropertyWin as Window).Title = objTypeName; myPropertyWin.DGObjectHandler += DGObjectAddHandler; (myPropertyWin as Window).Show(); return; } } } CommonPropertyWin commonPropertyWin = new CommonPropertyWin(domainName, objTypeName); commonPropertyWin.Title = objTypeName; commonPropertyWin.DGObjectHandler += DGObjectAddHandler; commonPropertyWin.Show(); }
private void Button_Click(object sender, RoutedEventArgs e) { List <PropertyDef> propertyDefs = new List <PropertyDef>(); PropertyDef def = JsonConvert.DeserializeObject <PropertyDef>(JsonConvert.SerializeObject((sender as Button).DataContext)); Type objType = iS3Property.GetType(_domain, def.type.Name); if (objType != null) { iS3Property iS3Property = new iS3Property(); Type _t = iS3Property.GetType(); MethodInfo mi = _t.GetMethod("GetProperty").MakeGenericMethod(objType); propertyDefs = mi.Invoke(iS3Property, new object[] { Activator.CreateInstance(objType) }) as List <PropertyDef>; CommonPropertyWin commonPropertyWin = new CommonPropertyWin(_domain, _objType); commonPropertyWin.Title = (sender as MenuItem).Tag.ToString(); commonPropertyWin.Show(); } }
//选择右键菜单,触发相应的事件; //-------------- //既是对象又是对象组,点击Create事件,弹出对应ObjType的属性设置界面,填写保存; //将对象保存到对应数据库,将该节点保存到Treedefinition,Objectdefinition直接指向类型记录; //保存完毕,返回Tree信息和Objdef信息,更新到界面树,更新到后台对象组列表 //--------------------- //单独是对象组,点击CreateObj事件,弹出通用的tree节点属性设置界面,点击保存,将该节点保存到Treedefinition,Objectdefinition新建一条记录; //保存完毕,返回Tree信息和ObjDef信息,更新到界面树,更新到后台对象组列表 public void AddDGObject_S(object sender, RoutedEventArgs e) { menuItem = sender as MenuItem; List <PropertyDef> propertyDefs = new List <PropertyDef>(); menuBase = ((menuItem.DataContext) as MenuBase); if (menuBase.MethodType == OperationType.Create) { commonPropertyWin = new CommonPropertyWin(_domain, menuBase.TargetObjType); commonPropertyWin.Title = ((menuItem.DataContext) as MenuBase).Desc; commonPropertyWin.DGObjectHandler += DGObjectListener; commonPropertyWin.Show(); } if (menuBase.MethodType == OperationType.CreateObjs) { dGObjectsPropertyWin = new DGObjectsPropertyWin(); dGObjectsPropertyWin.domain = _domain; dGObjectsPropertyWin.DGObjectsHandler += DGObjectsListener; dGObjectsPropertyWin.Show(); } }