public void OnDeserialize(object context)
        {
            _item.Name = this.Name;
            SortedDictionary <int, List <IDrawDesignControl> > lst = new SortedDictionary <int, List <IDrawDesignControl> >();

            for (int i = 0; i < this.Controls.Count; i++)
            {
                IDrawDesignControl ddc = this.Controls[i] as IDrawDesignControl;
                if (ddc != null)
                {
                    List <IDrawDesignControl> l;
                    if (!lst.TryGetValue(ddc.ZOrder, out l))
                    {
                        l = new List <IDrawDesignControl>();
                        lst.Add(ddc.ZOrder, l);
                    }
                    l.Add(ddc);
                }
            }
            SortedDictionary <int, List <IDrawDesignControl> > .Enumerator en = lst.GetEnumerator();
            while (en.MoveNext())
            {
                foreach (IDrawDesignControl ddc in en.Current.Value)
                {
                    ddc.BringToFront();
                }
            }
        }