public void MoveDownALevel(Messenger Parent) { ParentMessenger = Parent; PageNumberStack.Add(CurrentPageNumber); CurrentPageNumber = 1; CurrentPageLevel++; NewDataScope(Parent.Children); }
public void MoveUpALevel() { if (!IsMoveUpButtonEnabled || CurrentPageLevel == 0) { return; } //Set the current page number and remove it from the stack. CurrentPageNumber = PageNumberStack.Last(); PageNumberStack.RemoveAt(PageNumberStack.Count - 1); ObservableCollection <Messenger> newDataScope = new ObservableCollection <Messenger>(); if (ParentMessenger.Parent != null) { newDataScope = ParentMessenger.Parent.Children; if (newDataScope.Any()) { NewDataScope(newDataScope); ParentMessenger = ParentMessenger.Parent; CurrentPageLevel--; } else { //Parent got deleted CurrentPageLevel = 0; CurrentPageNumber = 1; PageNumberStack.Clear(); NewDataScope(LoadRootGeneralMessengers()); } } else { //Parent is a root ParentMessenger = new Messenger(); CurrentPageLevel = 0; NewDataScope(LoadRootGeneralMessengers()); } }