public override void GetObjectData(object obj, SerializationInfo info, StreamingContext context)
        {
            base.GetObjectData(obj, info, context);

            CustomDiagram custom = (CustomDiagram)obj;

            info.AddValue("Watermark", custom.Watermark);
        }
        public override object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
        {
            base.SetObjectData(obj, info, context, selector);

            CustomDiagram custom = (CustomDiagram)obj;

            custom.SetRender(new CustomRender());             //Recreate custom render since no constructor is called

            custom.Suspend();
            custom.Watermark = info.GetString("Watermark");
            custom.Resume();

            return(custom);
        }
示例#3
0
        protected override void OnDeserializeComplete(object graph, IFormatter formatter, SurrogateSelector selector)
        {
            CustomDiagramSerialize surrogate = (CustomDiagramSerialize)Crainiate.ERM4.Serialization.Serialize.GetSurrogate(graph, selector);
            CustomDiagram          custom    = (CustomDiagram)graph;

            //Apply surrogate settings
            SuspendEvents = true;
            Suspend();

            Watermark = custom.Watermark;

            Resume();
            SuspendEvents = false;

            base.OnDeserializeComplete(graph, formatter, selector);
        }