protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            NavigationPage navPage = Window.Current.Content as NavigationPage;

            if (navPage.AppFrame.CanGoBack)
            {
                // If we have pages in our in-app backstack and have opted in to showing back, do so
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            }
            else
            {
                // Remove the UI from the title bar if there are no pages in our in-app back stack
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
            }

            var navObj = e.Parameter as PlaceNavObject;

            if (navObj != null)
            {
                var viewModel = new PlaceDetailsPageViewModel(navObj.Id, navObj.Title, App.DataSource);
                DataContext = viewModel;
                var template = Resources["PlaceDetailsDataTemplate"] as DataTemplate;
                contentPresenter.ContentTemplate = template;
                base.OnNavigatedTo(e);
                return;
            }

            SetTemplate(e.Parameter as NodeViewModel);
            base.OnNavigatedTo(e);
        }
        private void SetTemplate(CType type, NodeViewModel vm)
        {
            DataTemplate template = null;

            if (type == CType.Event)
            {
                var detailsViewModel = new EventDetailsPageViewModel(vm.Id, vm.Title, App.DataSource);
                DataContext = detailsViewModel;
                template    = Resources["EventDetailsDataTemplate"] as DataTemplate;
            }
            if (type == CType.News)
            {
                var newsViewModel = new NewsDetailsPageViewModel(vm.Id, vm.Title, App.DataSource);
                DataContext = newsViewModel;
                template    = Resources["NewsDetailsDataTemplate"] as DataTemplate;
            }
            if (type == CType.List)
            {
                var viewModel = new SelectionDetailsPageViewModel(vm.Id, vm.Title, App.DataSource);
                DataContext = viewModel;
                template    = Resources["SelectionDetailsDataTemplate"] as DataTemplate;
            }
            if (type == CType.Place)
            {
                var viewModel = new PlaceDetailsPageViewModel(vm.Id, vm.Title, App.DataSource);
                DataContext = viewModel;
                template    = Resources["PlaceDetailsDataTemplate"] as DataTemplate;
            }
            if (type == CType.Movie)
            {
                var viewModel = new MovieDetailsPageViewModel(vm.Id, vm.Title, App.DataSource);
                DataContext = viewModel;
                template    = Resources["MovieDetailsDataTemplate"] as DataTemplate;
            }
            if (type == CType.ListItem)
            {
                var node = vm as SelectionDetailsNodeViewModel;
                if (node == null)
                {
                    return;
                }

                var viewModel = new ListItemDetailsPageViewModel(node, App.DataSource);
                DataContext = viewModel;
                template    = Resources["ListItemDetailsDataTemplate"] as DataTemplate;
            }
            contentPresenter.ContentTemplate = template;
        }