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); }