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