Quantcast
Channel: patterns & practices: Prism
Viewing all articles
Browse latest Browse all 1878

New Post: Load different modules in the same regions

$
0
0
Hi,

Thank you for your answer.
I would like to clarify that the menu commands exist in the ShellViewModel. How can I use RegionManager in it?
Below is the code from my ShellViewModel with the RegionManager imported. Is this correct?
        [Import]
        IModuleManager moduleManager { get; set; }

        [Import]
        IRegionManager regionManager { get; set; }

        public ShellViewModel()
        {
            // Initialize this ViewModel's commands.
            ExitCommand = new DelegateCommand<object>(AppExit, CanAppExit);
            MembersCommand = new DelegateCommand<object>(AppMembers, CanAppMembers);
            BoardCommand = new DelegateCommand<object>(AppBoard, CanAppBoard);
        }

        #region ExitCommand
        public DelegateCommand<object> ExitCommand { get; private set; }

        private void AppExit(object commandArg)
        {
            App.Current.Shutdown();
        }

        private bool CanAppExit(object commandArg)
        {
            return true;
        }
        #endregion

        #region MembersCommand
        public DelegateCommand<object> MembersCommand { get; private set; }

        private void AppMembers(object commandArg)
        {
            moduleManager.LoadModule("MemberModule.ModuleInit");
            regionManager.RequestNavigate(RegionNames.LeftRegion, new Uri("MemberMasterView", UriKind.Relative));
        }

        private bool CanAppMembers(object commandArg)
        {
            return true;
        }
        #endregion

        #region BoardCommand
        public DelegateCommand<object> BoardCommand { get; private set; }

        private void AppBoard(object commandArg)
        {
            moduleManager.LoadModule("BoardModule.ModuleInit");
            regionManager.RequestNavigate(RegionNames.LeftRegion, new Uri("BoardMasterView", UriKind.Relative));
        }

        private bool CanAppBoard(object commandArg)
        {
            return true;
        }
        #endregion

Viewing all articles
Browse latest Browse all 1878

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>