private void SetActivePage(BaseContextPage page) { if (page == null || page == active_page) { return; } if (active_page != null) { active_page.StateChanged -= OnActivePageStateChanged; } active_page = page; active_page.StateChanged += OnActivePageStateChanged; LastContextPageSchema.Set(page.Id); OnActivePageStateChanged(active_page.State); SetCurrentTrackForActivePage(); }
private void RestoreLastActivePage() { // TODO restore the last page string last_id = LastContextPageSchema.Get(); if (!String.IsNullOrEmpty(last_id)) { var page = pages.FirstOrDefault(p => p.Id == last_id); if (page != null) { SetActivePage(page); pane_tabs[page].Active = true; } } if (active_page == null) { ActivateFirstPage(); } }