Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        //选择右键菜单,触发相应的事件;
        //--------------
        //既是对象又是对象组,点击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();
            }
        }