private void LoadState(object stateRepresentation)
        {
            MovieSource = App.MainVm.GetMovieSource(stateRepresentation);


            if (MovieSource is WatchlistMovieSource)
            {
                WatchlistHelp.Visibility = Visibility.Visible;
            }

            this.DefaultViewModel["Movies"]  = MovieSource;
            this.DefaultViewModel["Caption"] = MovieSource.Caption;

            MovieGrid.ItemsSource = MovieSource;

            Dispatcher.RunIdleAsync((s) =>
            {
                if (MovieSource.Selected != null)
                {
                    MovieGrid.ScrollIntoView(MovieSource.Selected);
                }
            });

            this.DefaultViewModel["Groups"]   = "#abcdefghijklmnopqrstuvwxyz".ToCharArray();
            this.DefaultViewModel["Settings"] = App.MainVm.Settings;
        }
        protected void AddToLibrary_Click(object sender, EventArgs e)
        {
            if (IsValid)
            {
                Movie movie = new Movie();
                movie.Title  = MovieTitle.Text;
                movie.Year   = int.Parse(Year.Text);
                movie.Media  = Media.Text;
                movie.Rating = Rating.Text;
                movie.Review = Review.Text;

                movies.Add(movie);

                MovieGrid.DataSource = movies;
                MovieGrid.DataBind();
            }
        }