public void OpenSubApp(DesktopItem Item)
        {
            Assembly   assembly = Assembly.LoadFrom(ConfigManager.GetInstance().ApplicationAppsDirectory + Item.AppUID + "\\" + Item.AppUID + ".dll");
            Type       factory  = assembly.GetType(Item.AppUID + ".Factory");
            MethodInfo method   = factory.GetMethod("CreateWindow");
            Object     obj      = Activator.CreateInstance(factory);

            object[]    parameters = new object[] { Item.SubAppUID, Item.Config };
            UserControl uc         = (UserControl)method.Invoke(obj, parameters);
            SubAppFrame border     = new SubAppFrame(Item);

            SecondDesktopMessager.GetInstance().DesktopSettings(!ViewModel.DesktopTitleReadOnly);
            border.Add(uc);
            wpDesktop.Children.Add(border);
        }
        public void CreateSubApp(string AppUID, int SubAppUID, string Config)
        {
            DesktopItem item = new DesktopItem();

            item.AppUID    = AppUID;
            item.SubAppUID = SubAppUID;
            item.Config    = Config;
            item.Page      = ViewModel.CurrentPage;

            Assembly   assembly = Assembly.LoadFrom(ConfigManager.GetInstance().ApplicationAppsDirectory + AppUID + "\\" + AppUID + ".dll");
            Type       factory  = assembly.GetType(AppUID + ".Factory");
            MethodInfo method   = factory.GetMethod("CreateWindow");
            Object     obj      = Activator.CreateInstance(factory);

            object[]    parameters = new object[] { SubAppUID, Config };
            UserControl uc         = (UserControl)method.Invoke(obj, parameters);
            SubAppFrame border     = new SubAppFrame(item);

            SecondDesktopMessager.GetInstance().DesktopSettings(!ViewModel.DesktopTitleReadOnly);
            border.Add(uc);
            wpDesktop.Children.Add(border);

            DesktopDataManager.GetInstance().AddSubApp(item);
        }