public void RecreateElementsFromSave(ListContainer lc)
        {
            mngc.isProgress = true;

            this.lc = lc;
            this.lc.dList.Clear();

            foreach (SpecificElement se in lc.ec.GetAllElements())
            {
                if (RemoveNumbers(se.GetName()) != "wire_connector")
                {
                    Image r = new Image();

                    r.Height = 50;
                    r.Width  = 50;
                    r.Source = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + "Circuit element images/" + RemoveNumbers(se.GetName()) + ".png"));
                    r.Tag    = se.GetName();

                    r.MouseLeftButtonDown += new MouseButtonEventHandler(Image_MouseLeftButtonDown);
                    r.MouseLeftButtonUp   += new MouseButtonEventHandler(Image_MouseLeftButtonUp);
                    r.MouseMove           += new MouseEventHandler(Image_MouseMove);
                    r.MouseEnter          += new MouseEventHandler(Image_MouseEnter);
                    r.MouseLeave          += new MouseEventHandler(Image_MouseLeave);

                    AddContextHandler(r);

                    canvas.Children.Add(r);

                    se.SetImage(r);

                    Canvas.SetTop(r, 0);
                    Canvas.SetLeft(r, 0);

                    r.RenderTransform = new TranslateTransform(se.GetPositionX(), se.GetPositionY());

                    queue++;

                    Panel.SetZIndex(r, 1);

                    dgc.RecreateDot(se.GetName(), 4, this.lc);
                    dgc.UpadateDotsLocation(se.GetElement(), this.lc.ec);

                    foreach (Dot d in this.lc.dList)
                    {
                        d.GetDot().Visibility = Visibility.Hidden;
                    }
                }
            }
        }