Exemplo n.º 1
0
        public DesktopViewModel(IStartupNotifier startupNotifier, IApplicationDetails applicationDetails, IViewNavigator regionNavigator, IMenuBarManager menuBarManager)
            : base()
        {
            StartupNotifier = startupNotifier;

            ApplicationDetails = applicationDetails;

            if (!MenusCreated)
            {
                MenusCreated = true;
                regionNavigator.EnqueueUIWork(() =>
                    {
                        menuBarManager.Create(@"_File\Save To Xml", EndPoint.Root, o => regionNavigator.SaveMainRegionDataToXml());
                    });
            }
        }
Exemplo n.º 2
0
        private void Navigating(IMenuBarManager barManager, IViewNavigator navigator, NavigationEventArgs e)
        {
            Stack<Action> cleanup;

            foreach (var owner in _CleanupsByOwner
                .Where(kvp => kvp.Key != EndPoint.Root && kvp.Key != e.Destination)
                .Select(kvp => kvp.Key)
                .ToList())
            {
                cleanup = _CleanupsByOwner[owner];

                while (cleanup.Count != 0)
                {
                    cleanup.Pop()();
                }

                _CleanupsByOwner.Remove(owner);
            }
        }