public MainViewModel(IMovieService movieService) { _movieService = movieService; Results = new ReactiveList <string>(); var canSearch = this.WhenAny(x => x.SearchTerm, x => !string.IsNullOrWhiteSpace(x.Value) && x.Value.Length >= 3); SearchCmd = ReactiveCommand.CreateFromTask <string, IEnumerable <string> >(term => _movieService.GetMovies(term), canSearch); SearchCmd.Subscribe(results => { Results.Clear(); Results.AddRange(results); }); _isSearching = SearchCmd.IsExecuting.ToProperty(this, vm => vm.IsSearching); this.WhenAnyValue(x => x.SearchTerm) .Throttle(TimeSpan.FromMilliseconds(500)) .InvokeCommand(SearchCmd); }
public Org2NewPage() { InitializeComponent(); CmbModel model = cmbIsEstablish.DataContext as CmbModel; model.Bind(PartyBuildingContext.CmbItemsYesNo); model = cmbEstablishType.DataContext as CmbModel; model.Bind(PartyBuildingContext.CmbItemsEstablishType); model = cmbHasActPlace.DataContext as CmbModel; model.Bind(PartyBuildingContext.CmbItemsYesNo); btnSearch.Click += (o, e) => { SearchCmd.Execute(null); }; btnAll.Click += (o, e) => { dg.ItemsSource = PartyBuildingContext.org2news; }; }