/// <summary>
        /// Initializes a new instance of the <see cref="UpcomingMoviesListView"/> class.
        /// </summary>
        public UpcomingMoviesListView()
        {
            InitializeComponent();

            this.WhenActivated(disposables =>
            {
                ViewModel.SelectedItem = null;

                this.OneWayBind(ViewModel, x => x.Movies, x => x.UpcomingMoviesList.ItemsSource).DisposeWith(disposables);
                this.Bind(ViewModel, x => x.SelectedItem, x => x.UpcomingMoviesList.SelectedItem).DisposeWith(disposables);
                this.OneWayBind(ViewModel, vm => vm.OpenAboutView, view => view.About.Command).DisposeWith(disposables);

                UpcomingMoviesList
                .Events()
                .ItemAppearing
                .Select((e) => e.Item as UpcomingMoviesCellViewModel)
                .BindTo(this, x => x.ViewModel.ItemAppearing)
                .DisposeWith(disposables);
            });

            this.WhenAnyValue(x => x.ViewModel)
            .Where(vm => vm != null)
            .SubscribeOn(RxApp.TaskpoolScheduler)
            .ObserveOn(RxApp.MainThreadScheduler)
            .Select(_ => 0)
            .InvokeCommand(this, x => x.ViewModel.LoadMovies);
        }
Ejemplo n.º 2
0
        public UpcomingMoviesListView()
        {
            InitializeComponent();

            this.WhenActivated(disposables =>
            {
                ViewModel.SelectedItem = null;

                this.OneWayBind(ViewModel, x => x.Movies, x => x.UpcomingMoviesList.ItemsSource)
                .DisposeWith(disposables);

                this.Bind(ViewModel, x => x.SelectedItem, x => x.UpcomingMoviesList.SelectedItem)
                .DisposeWith(disposables);

                UpcomingMoviesList
                .Events()
                .ItemAppearing
                .Select((e) => e.Item as UpcomingMoviesCellViewModel)
                .BindTo(this, x => x.ViewModel.ItemAppearing)
                .DisposeWith(disposables);
            });
        }