diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-04-22 13:59:10 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-04-22 13:59:10 +0300 |
| commit | 531c3aba8b49d38f53890c61aa3addef3b5c28dd (patch) | |
| tree | 0a913689a8968bcea2e174d90f0d423ffa3ccaca /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs | |
| parent | 540272c93c7d0b4a12ea797c996f2c9ddf2a5bbb (diff) | |
| parent | 24e4a3e25a9ac161097a46b59aee637fe7bdaa50 (diff) | |
| download | Tango-531c3aba8b49d38f53890c61aa3addef3b5c28dd.tar.gz Tango-531c3aba8b49d38f53890c61aa3addef3b5c28dd.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs index 8e451cdce..b97825d34 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -35,6 +35,7 @@ using Tango.MachineStudio.UI.Windows; using Tango.PMR.Stubs; using Tango.Settings; using Tango.SharedUI; +using Tango.SharedUI.Controls; using Tango.SharedUI.Helpers; using Tango.Transport.Adapters; @@ -497,6 +498,16 @@ namespace Tango.MachineStudio.UI.ViewModels { IsMenuOpened = false; + if (module != null) + { + if (!(MainView.Self as MainView).TransitionControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType)) + { + FrameworkElement view = Activator.CreateInstance(module.MainViewType) as FrameworkElement; + NavigationControl.SetNavigationName(view, module.Name); + (MainView.Self as MainView).TransitionControl.Elements.Add(view); + } + } + foreach (var m in StudioModuleLoader.AllModules.Where(x => x != module)) { m.IsLoaded = false; @@ -507,12 +518,12 @@ namespace Tango.MachineStudio.UI.ViewModels CurrentModule = module; CurrentModule.IsLoaded = true; IsModuleLoaded = true; - View.NavigateToModule(module); + (MainView.Self as MainView).TransitionControl.NavigateTo(module.Name); } else { IsModuleLoaded = false; - View.NavigateToModule(null); + (MainView.Self as MainView).TransitionControl.NavigateTo("Home"); } } @@ -538,18 +549,21 @@ namespace Tango.MachineStudio.UI.ViewModels module.InNewWindow = true; - var parent = (MainView.Self as MainView).TransitionControl.Controls.SingleOrDefault(x => x.Tag.ToString() == module.Name).Content as Grid; + if (!(MainView.Self as MainView).TransitionControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType)) + { + FrameworkElement v = Activator.CreateInstance(module.MainViewType) as FrameworkElement; + NavigationControl.SetNavigationName(v, module.Name); + (MainView.Self as MainView).TransitionControl.Elements.Add(v); + } - var view = parent.Children[0] as FrameworkElement; - parent.Children.Remove(view); + var view = (MainView.Self as MainView).TransitionControl.GetAndDetach(module.Name); - ModuleWindowVM vm = new ModuleWindowVM(module, parent); + ModuleWindowVM vm = new ModuleWindowVM(module); ModuleWindow window = new ModuleWindow(this, vm, view); window.Closing += (x, y) => { window.grid.Children.Remove(view); - parent.Children.Add(view); module.InNewWindow = false; }; |
