// How to set the main Content public TabInstance AddTab(ITab tab) { TabInstance tabInstance = tab.Create(); tabInstance.Model.Name = "Start"; tabInstance.iTab = tab; tabInstance.Project = Project; if (LoadBookmarkUri != null) { // Wait until Bookmarks tab has been created Dispatcher.UIThread.Post(() => ImportBookmark(new Call(), LoadBookmarkUri, false), DispatcherPriority.SystemIdle); } else if (LoadBookmark != null) { tabInstance.TabBookmark = LoadBookmark.TabBookmark; } else if (Project.UserSettings.AutoLoad) // did we load successfully last time? { tabInstance.LoadDefaultBookmark(); } TabView = new TabView(tabInstance); TabView.Load(); //scrollViewer.Content = tabView; ContentGrid.Children.Add(TabView); return(tabInstance); }
public TabInstance Create() { if (Bookmark.Type == null) { return(null); } if (!typeof(ITab).IsAssignableFrom(Bookmark.Type)) { throw new Exception("Bookmark.Type must implement ITab"); } var call = new Call(); Bookmark bookmarkCopy = Bookmark.DeepClone(call, true); // This will get modified as users navigate ITab tab = bookmarkCopy.TabBookmark.Tab; if (tab == null) { tab = (ITab)Activator.CreateInstance(bookmarkCopy.Type); } if (tab is IReload reloadable) { reloadable.Reload(); } TabInstance tabInstance = tab.Create(); tabInstance.Project = Project.Open(bookmarkCopy); tabInstance.iTab = this; tabInstance.IsRoot = true; tabInstance.SelectBookmark(bookmarkCopy.TabBookmark); return(tabInstance); }