private HBControl CreatePage(Type type) { if (PageIndex <= PageStack.Count - 1) { for (int i = PageStack.Count - 1; i > PageIndex; i--) { var _page = PageStack[i]; PageStack.Remove(_page); FrameGrid.Children.Remove(_page); } } var page = Activator.CreateInstance(type) as HBControl; FrameGrid.Children.Add(page); PageStack.Add(page); PageIndex++; return(page); }
public void PushNextPage(BasePage newPage) { if (PageStack == null) { PageStack = new List <BasePage>() { newPage }; } else { PageStack.Add(newPage); DestroyPage(); } PageStackIndex = PageStack.Count - 1; currentPage = newPage; ShowPage(); }
private HBControl CreatePage(Type type, string targetName = null) { if (PageIndex <= PageStack.Count - 1) { for (int i = PageStack.Count - 1; i > PageIndex; i--) { var _page = PageStack[i]; PageStack.Remove(_page); FrameGrid.Children.Remove(_page); } } if (PageStack.Count > 0 && !string.IsNullOrEmpty(targetName) && PageStack[PageIndex].TargetName == targetName) { return(PageStack[PageIndex]); } var page = Activator.CreateInstance(type) as HBControl; page.TargetName = targetName; FrameGrid.Children.Add(page); PageStack.Add(page); PageIndex++; return(page); }