Beispiel #1
0
        public void Navigate(string pageKey, Type pageType, Type viewModelType)
        {
            // Change content of the contentFrame
            _shellPage.ContentFrame.Navigate(pageType);
            var page = _shellPage.ContentFrame.Content as IBurlsPage;

            page.ViewModelBase = _serviceProvider.GetService(viewModelType) as IViewModel;
            _shellPage.RefreshUI();

            // Update the navigation if needed
            var menuItems    = _shellPage.MainNavigation.MenuItems.Concat(_shellPage.MainNavigation.FooterMenuItems);
            var selectedItem = menuItems.FirstOrDefault(x => (x as NavigationViewItem).Tag.ToString().Equals(pageKey));

            if (_shellPage.MainNavigation.SelectedItem != selectedItem)
            {
                _shellPage.MainNavigation.SelectedItem = selectedItem;
            }
        }