public EventDetailsPage(EventDetailsPageViewModel viewModel)
        {
            this.InitializeComponent();

            this.navigationHelper            = new NavigationHelper(this);
            this.navigationHelper.LoadState += this.NavigationHelper_LoadState;
            this.navigationHelper.SaveState += this.NavigationHelper_SaveState;

            this.ViewModel = viewModel;
        }
        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;
        }