示例#1
0
 public void MoveDownALevel(Messenger Parent)
 {
     ParentMessenger = Parent;
     PageNumberStack.Add(CurrentPageNumber);
     CurrentPageNumber = 1;
     CurrentPageLevel++;
     NewDataScope(Parent.Children);
 }
示例#2
0
        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());
            }
        }