Ejemplo n.º 1
0
        public static void Show(Control control, string title)
        {
            if (windowControls.ContainsKey(control.GetType()))
            {
                CustomView view = windowControls[control.GetType()];
                if (WindowsSys.WindowState)
                {
                    ((Window)view.Control).Activate();
                }
                else
                {
                    primaryWindow.ChangeTo(view.Control);
                }
            }
            else
            {
                Control target;
                if (WindowsSys.WindowState)
                {
                    primaryWindow.Visibility = Visibility.Hidden;
                    MainWindow currentWindow = new MainWindow();
                    currentWindow.Title = title;
                    currentWindow.Load(control);
                    windows.Add(currentWindow);
                    currentWindow.Show();
                    target = currentWindow;
                    for (int i = 0; i < views.Count; i++)
                    {
                        currentWindow.AppendWindowMenu(views[i].Control, views[i].Title);
                    }
                    for (int i = 0; i < windows.Count; i++)
                    {
                        windows[i].AppendWindowMenu(currentWindow, title);
                    }
                }
                else
                {
                    primaryWindow.ChangeTo(control);
                    controls.Add(control);
                    primaryWindow.AppendWindowMenu(control, title);
                    target = control;
                }

                CustomView view = new CustomView();
                view.Title   = title;
                view.Control = target;
                windowControls.Add(control.GetType(), view);
                views.Add(view);
            }
        }