From 0b38918fc4c1021d63689108fbcddc87593aae36 Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期四, 02 七月 2020 18:11:46 +0800
Subject: [PATCH] 板卡操作配置可获取板卡初始配置中的IO定义

---
 src/Bro.Common.Model/Model/IOItem.cs |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/Bro.Common.Model/Model/IOItem.cs b/src/Bro.Common.Model/Model/IOItem.cs
index 11283eb..486d0ff 100644
--- a/src/Bro.Common.Model/Model/IOItem.cs
+++ b/src/Bro.Common.Model/Model/IOItem.cs
@@ -1,6 +1,7 @@
 锘縰sing Bro.Common.Helper;
 using Newtonsoft.Json;
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.ComponentModel;
 using static Bro.Common.Helper.EnumHelper;
@@ -60,6 +61,7 @@
     {
         [Category("IO鎿嶄綔閰嶇疆")]
         [Description("闇�瑕佹搷浣滅殑IO")]
+        [TypeConverter(typeof(IORefrenceItemSourceConverter))]
         public IOItem IOItem { get; set; } = new IOItem();
 
         [Category("IO鎿嶄綔閰嶇疆")]
@@ -70,4 +72,22 @@
         [JsonIgnore]
         public List<IODefinition> IOItemSource { get; set; } = new List<IODefinition>();
     }
+
+    public class IORefrenceItemSourceConverter : ComboBoxItemTypeConvert
+    {
+        public override Hashtable GetConvertHash(ITypeDescriptorContext context)
+        {
+            Hashtable table = new Hashtable();
+
+            if (context.Instance is IORefrenceItem item)
+            {
+                item.IOItemSource.ForEach(i =>
+                {
+                    table[i.IODesc + i.IOType.GetEnumDescription() + i.IONum] = i as IOItem;
+                });
+            }
+
+            return table;
+        }
+    }
 }

--
Gitblit v1.8.0