Esempio n. 1
0
        /// <summary>
        /// 反序列化
        /// </summary>
        /// <param name="serializationInfo"></param>
        public override void Deserialize(SerializationInfo serializationInfo)
        {
            base.Deserialize(serializationInfo);

            try
            {
                if (serializationInfo["Figure"] != null)
                {
                    var        buffer    = Convert.FromBase64String(serializationInfo["Figure"].ToString());
                    IFormatter formatter = new BinaryFormatter();
                    using (var ms = new MemoryStream(buffer))
                    {
                        Content = formatter.Deserialize(ms);
                        //绑定Shape坐标和Figure坐标
                        this.DataContext = Content;
                        var binding = new Binding("Position")
                        {
                            Mode = BindingMode.TwoWay
                        };
                        this.SetBinding(PositionProperty, binding);
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception("反序列化过程失败:" + e.Message);
            }
        }
Esempio n. 2
0
        public override void Deserialize(Telerik.Windows.Diagrams.Core.SerializationInfo info)
        {
            base.Deserialize(info);
            if (info["Index"] != null)
            {
                this.Index = int.Parse(info["Index"].ToString());
            }

            if (info["PointType"] != null)
            {
                this.PointType = info["PointType"].ToString();
            }

            if (info["ObsPointX"] != null)
            {
                this.ObsPointX = float.Parse(info["ObsPointX"].ToString());
            }
            if (info["ObsPointY"] != null)
            {
                this.ObsPointY = float.Parse(info["ObsPointY"].ToString());
            }

            if (info["Description"] != null)
            {
                this.Description = info["Description"].ToString();
            }
            //if (info["Description2"] != null)
            //    this.Description2 = info["Description2"].ToString();
            //if (info["Description3"] != null)
            //    this.Description3 = info["Description3"].ToString();
            //if (info["Description4"] != null)
            //    this.Description4 = info["Description4"].ToString();
            //if (info["Description5"] != null)
            //    this.Description5 = info["Description5"].ToString();

            if (info["oldPointType"] != null)
            {
                this._oldPointtype = info["oldPointType"].ToString();
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 序列化
        /// </summary>
        /// <returns></returns>
        public override SerializationInfo Serialize()
        {
            SerializationInfo serializationInfo = base.Serialize();

            try
            {
                var obj = base.Content as FigureBase;
                if (obj != null)
                {
                    IFormatter formatter = new BinaryFormatter();
                    using (var ms = new MemoryStream())
                    {
                        formatter.Serialize(ms, obj);
                        serializationInfo["Figure"] = Convert.ToBase64String(ms.ToArray());
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception("序列化过程失败:" + e.Message);
            }
            return(serializationInfo);
        }
Esempio n. 4
0
        /// <summary>
        /// Overrides Deserialize methods to get custom data
        /// </summary>
        /// <param name="info">SerializationInfo</param>
        public override void Deserialize(Telerik.Windows.Diagrams.Core.SerializationInfo info)
        {
            base.Deserialize(info);

            this.Name = info[nameof(Name)]?.ToString();
        }
Esempio n. 5
0
 public override OrgItem DeserializeNode(Telerik.Windows.Diagrams.Core.IShape shape, Telerik.Windows.Diagrams.Core.SerializationInfo info)
 {
     base.DeserializeNode(shape, info);
     if (info["Title"] != null)
     {
         return(new OrgItem(info["Title"].ToString()));
     }
     return(null);
 }
Esempio n. 6
0
 public override void SerializeNode(OrgItem node, Telerik.Windows.Diagrams.Core.SerializationInfo info)
 {
     base.SerializeNode(node, info);
     info["Title"] = node.Title;
 }
Esempio n. 7
0
        public override ShapeViewModel DeserializeNode(Telerik.Windows.Diagrams.Core.IShape shape, Telerik.Windows.Diagrams.Core.SerializationInfo info)
        {
            ShapeViewModel model = new ShapeViewModel()
            {
                Geometry = GeometryParser.GetGeometry(info["MyGeometry"].ToString())
            };

            return(model);
        }