Example #1
0
 public void NavigateClose(INavModel navModel)
 {
     var viewName = navModel.ViewName;
     if (string.IsNullOrWhiteSpace(viewName)) return;
     CloseTab(navModel.ViewModel);
     Navigate(navModel);
 }
        /// <summary>
        /// Closes the specified view.
        /// </summary>
        /// <param name="navModel">The nav model.</param>
        public virtual void Close(INavModel navModel)
        {
            var region = RegionManager.Regions[Regions.MainRegion];

            for (var i = 0; i < region.Views.Count(); i++)
            {
                var v = (UserControl)region.Views.ElementAt(i);
                var d = v.DataContext;
                if (d.GetType() != navModel.ViewModel.GetType())
                {
                    continue;
                }
                if (((NavigationBaseViewModel)d).ViewId != navModel.ViewId)
                {
                    continue;
                }
                try
                {
                    var fe = (FrameworkElement)v;
                    region.Remove(fe);
                }
                catch (Exception ex)
                {
                    ErrorTracker.LogError(new ErrorModel(ex, Environment.UserName, "NavigationBaseViewModel.Close"));
                    Logger.Log(LogLevel.Error, ex.Message.Trim(), ex.Data);
                }
            }
        }
        /// <summary>
        /// Navigates to the specified view with parameters and closes the current view.
        /// </summary>
        /// <param name="navModel">The nav model.</param>
        public virtual void NavigateWithClose(INavModel navModel)
        {
            var message = $"Navigating to {navModel.ViewName} with the following parameters:\n";

            message = navModel.NavigationParameters.Aggregate(message, (current, o) => current + $"{o.Key} - {o.Value}\n");
            Logger.Log(LogLevel.Info, message);
            try
            {
                RegionManager.RequestNavigate(Regions.MainRegion, navModel.ViewName, NavigationCallback,
                                              navModel.NavigationParameters);
                var vm = navModel.ViewModel as NavigationBaseViewModel;
                if (vm == null)
                {
                    Debug.WriteLine("VM NULL!!");
                    return;
                }
                navModel.ViewId = vm.ViewId;
                Close(navModel);
            }
            catch (Exception ex)
            {
                ErrorTracker.LogError(new ErrorModel(ex, Environment.UserName,
                                                     "NavigationBaseViewModel.NavigateWithClose"));
                Logger.Log(LogLevel.Error, "Failed to navigate to view. Location: NavigationBaseViewModel.NavigateWithClose");
                Logger.Log(LogLevel.Error, ex, ex.Message.Trim(), ex.StackTrace);
            }
        }
Example #4
0
        public void NavigateClose(INavModel navModel)
        {
            var viewName = navModel.ViewName;

            if (string.IsNullOrWhiteSpace(viewName))
            {
                return;
            }
            CloseTab(navModel.ViewModel);
            Navigate(navModel);
        }
 /// <summary>
 /// Navigates the specified view.
 /// </summary>
 /// <param name="navModel">The nav model.</param>
 public virtual void Navigate(INavModel navModel)
 {
     Logger.Log(LogLevel.Info, $"Navigating to {navModel.ViewName}.");
     try
     {
         RegionManager.RequestNavigate(Regions.MainRegion, navModel.ViewName, NavigationCallback);
     }
     catch (Exception ex)
     {
         ErrorTracker.LogError(new ErrorModel(ex, Environment.UserName, "NavigationBaseViewModel.Navigate"));
         Logger.Log(LogLevel.Error, "Failed to navigate to view. Location: NavigationBaseViewModel.Navigate");
         Logger.Log(LogLevel.Error, ex, ex.Message.Trim(), ex.StackTrace);
     }
 }
Example #6
0
        public void NavigateWith(INavModel navModel)
        {
            var viewName = navModel.ViewName;
            if (string.IsNullOrWhiteSpace(viewName)) return;
            _container.GetExportedValue<dynamic>(viewName);
            try
            {
                _regionManager.RequestNavigate(RegionNames.MainContentRegion, new Uri(viewName, UriKind.Relative), navModel.NavigationParameters);

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Example #7
0
        public void NavigateWith(INavModel navModel)
        {
            var viewName = navModel.ViewName;

            if (string.IsNullOrWhiteSpace(viewName))
            {
                return;
            }
            _container.GetExportedValue <dynamic>(viewName);
            try
            {
                _regionManager.RequestNavigate(RegionNames.MainContentRegion, new Uri(viewName, UriKind.Relative), navModel.NavigationParameters);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Example #8
0
 public void NavigateWithClose(INavModel navModel)
 {
     CloseTab(navModel.ViewModel);
     NavigateWith(navModel);
 }
Example #9
0
 public void NavigateWithClose(INavModel navModel)
 {
     CloseTab(navModel.ViewModel);
     NavigateWith(navModel);
 }