Пример #1
0
        static void SetField(ChipItem item,
                             LogicChip chip,
                             string fieldName)
        {
            ElementOID oid     = Element.GetOidByName(fieldName);
            Element    element = chip.FindElement(oid);

            if (element != null)
            {
                var info = item.GetType().GetProperty(fieldName);
                info.SetValue(item, element.Text);

                item.SetLocked(fieldName, element == null ? false : element.Locked);
            }
        }
Пример #2
0
        void GetField(ChipItem item,
                      string fieldName)
        {
            ElementOID oid     = Element.GetOidByName(fieldName);
            Element    element = _chip.FindElement(oid);

            if (element != null && element.Locked)
            {
                return;
            }

            var info = item.GetType().GetProperty(fieldName);

            _chip.SetElement(oid, (string)info.GetValue(item));
        }
Пример #3
0
        public LogicChip GetContent()
        {
            ChipItem item = (ChipItem)propertyGrid1.SelectedObject;

            if (_chip == null)
            {
                _chip = new LogicChip();
            }

            if (item != null)
            {
                GetField(item, "PrimaryItemIdentifier");
                GetField(item, "OwnerInstitution");
                GetField(item, "SetInformation");
            }
            return(_chip);
        }
Пример #4
0
 private void Item_PropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     ChipItem item = sender as ChipItem;
     // TODO: 更新 LogicChip
     // 进一步反馈到调用 Dialog 的窗口,更新列表显示。比如添加星号表示修改过
 }