예제 #1
0
        public Task <IEnumerable <IKey> > SelectMoviesAsync(Library library)
        {
            Ensure.NotNull(library, "library");
            TaskCompletionSource <IEnumerable <IKey> > result = new TaskCompletionSource <IEnumerable <IKey> >();

            if (movieSelect == null)
            {
                Context <IEnumerable <IKey> > navigator = new Context <IEnumerable <IKey> >(result);

                movieSelect = new MovieSelectWindow(navigator);
                navigator.SetWindow(movieSelect);
                StartupLocation(movieSelect, (Window)movieEdit ?? main);

                movieSelect.Closed     += OnMovieSelectClosed;
                movieSelect.DataContext = new LibraryViewModel(library);
                movieSelect.Show();
            }

            movieSelect.Activate();
            return(result.Task);
        }
예제 #2
0
 private void OnMovieSelectClosed(object sender, EventArgs e)
 {
     movieSelect.Closed -= OnMovieSelectClosed;
     movieSelect         = null;
 }