From 3b0e2084501ea07fbcd1f984585bd64e3a0df241 Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期四, 02 七月 2020 17:14:41 +0800
Subject: [PATCH] 添加板卡基类,提取GTS板卡配置到板卡基类

---
 src/Bro.Common.Model/Helper/PropertyConvertHelper.cs |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs b/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs
index 71787f8..6dc252c 100644
--- a/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs
+++ b/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs
@@ -1,5 +1,6 @@
 锘縰sing Bro.Common.Factory;
 using Bro.Common.Interface;
+using Bro.Common.Model;
 using Newtonsoft.Json;
 using System;
 using System.Collections;
@@ -915,6 +916,84 @@
             return base.EditValue(context, provider, value);
         }
     }
+
+    public class IORefrenceItemCollectionEditor : CollectionEditor
+    {
+        protected override CollectionForm CreateCollectionForm()
+        {
+            var form = base.CreateCollectionForm();
+
+            var prop = form.GetType().GetField("propertyBrowser", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
+
+            if (prop != null)
+            {
+                if (prop.GetValue(form) is PropertyGrid grid)
+                {
+                    grid.HelpVisible = true;
+                    grid.ToolbarVisible = false;
+                }
+            }
+
+            return form;
+        }
+
+        //protected override object CreateInstance(Type itemType)
+        //{
+        //    return base.CreateInstance(itemType);
+        //}
+
+        //protected override object[] GetItems(object editValue)
+        //{
+        //    return base.GetItems(editValue);
+        //}
+
+        //protected override object SetItems(object editValue, object[] value)
+        //{
+        //    return base.SetItems(editValue, value);
+        //}
+
+        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
+        {
+            return base.EditValue(context, provider, value);
+        }
+
+        public IORefrenceItemCollectionEditor(Type type) : base(type)
+        {
+        }
+
+        /// <summary> 
+        /// 闄愬埗涓�娆¢�変竴涓疄渚� 
+        /// </summary> 
+        /// <returns></returns> 
+        protected override bool CanSelectMultipleInstances()
+        {
+            return false;
+        }
+
+        /// <summary> 
+        /// 鎸囧畾鍒涘缓鐨勫璞$被鍨� 
+        /// </summary> 
+        /// <returns></returns> 
+        protected override Type CreateCollectionItemType()
+        {
+            return typeof(IORefrenceItem);
+        }
+
+        protected override string GetDisplayText(object value)
+        {
+            if (value is IComplexDisplay)
+            {
+                return (value as IComplexDisplay).GetDisplayText();
+            }
+
+            return base.GetDisplayText(value);
+        }
+
+        //protected override void DestroyInstance(object instance)
+        //{
+        //    base.DestroyInstance(instance);//閲嶈锛佽嚜鍔ㄥ垹闄ょ粍浠剁殑璁捐鏃朵唬鐮侊紒 
+        //}
+    }
     #endregion
 
 }

--
Gitblit v1.8.0