Ejemplo n.º 1
0
        public void NavigateTo(Type screen)
        {
            IScreen newScreen = CreateInstance(screen);

            ActivateScreen?.Invoke(this, new ManageScreenRequest
            {
                Screen = newScreen
            });
            if (activeItem != null)
            {
                History.Enqueue(activeItem);
            }
            activeItem = newScreen;
        }
        public void Handle(ActivateScreen message)
        {
            if (ActiveItem.GetType() == message.Screen.GetType())
            {
                return;
            }

            if (ActiveItem != mainViewModel)
            {
                DeactivateItem(ActiveItem, true);
            }

            Items.Add(message.Screen);
            ActivateItem(message.Screen);
        }
Ejemplo n.º 3
0
        public void GoBack()
        {
            DeactivateScreen?.Invoke(this, new ManageScreenRequest
            {
                Close  = true,
                Screen = activeItem
            });
            IScreen newScreen = History.Dequeue();

            ActivateScreen?.Invoke(this, new ManageScreenRequest
            {
                Screen = newScreen
            });
            activeItem = newScreen;
        }
Ejemplo n.º 4
0
        public void Load(Type screen)
        {
            DeactivateScreen?.Invoke(this, new ManageScreenRequest
            {
                Close  = true,
                Screen = activeItem
            });
            IScreen newScreen = CreateInstance(screen);

            ActivateScreen?.Invoke(this, new ManageScreenRequest
            {
                Screen = newScreen
            });
            activeItem = newScreen;
            History.Clear();
        }