示例#1
0
        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);
        }
示例#2
0
        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;
            };
        }