protected override void LoadState(Object navigationParameter, Dictionary <String, Object> pageState)
        {
            // Get the selected Book Group from Navigation parameter & data bind.
            GroupedApressBooks selectedGroup = (GroupedApressBooks)((App)Application.Current).FeaturedBookListVM.GroupedFeaturedApressBooks.First(X => X.ApressBookGroupName == navigationParameter);

            this.DefaultViewModel["BookGroup"] = selectedGroup;
            this.DefaultViewModel["BookItems"] = selectedGroup.BookCollection;
        }
        protected override void LoadState(Object navigationParameter, Dictionary <String, Object> pageState)
        {
            // Allow saved page state to override the initial item to display.
            if (pageState != null && pageState.ContainsKey("SelectedItem"))
            {
                navigationParameter = pageState["SelectedItem"];
            }

            // Get the selected Book Item from Navigation parameter.
            ApressBook selectedBook = (ApressBook)((App)Application.Current).FeaturedBookListVM.FeaturedApressBooks.First(X => X.ApressBookISBN == navigationParameter);

            // Also fetch the corresponding Technology Group.
            GroupedApressBooks selectedGroup = (GroupedApressBooks)((App)Application.Current).FeaturedBookListVM.GroupedFeaturedApressBooks.First(X => X.ApressBookGroupName == selectedBook.ApressBookTechnology);

            this.DefaultViewModel["BookGroup"] = selectedGroup;
            this.DefaultViewModel["BookItems"] = selectedGroup.BookCollection;
            this.flipView.SelectedItem         = selectedBook;
        }