public MainWindowViewModel() { this.ClearSearchCommand = new DelegateCommand(() => Keyword = string.Empty); this.LoadSettingCommand = new DelegateCommand(() => LoadSetting()); this.SaveSettingCommand = new DelegateCommand(() => SaveSetting()); this.TextBoxEnterKeyEventCommand = new DelegateCommand <string>(async(keyword) => await Task.Run(async() => { if (string.IsNullOrEmpty(keyword)) { return; } Result result = await GetResult(keyword); DispatchService.Invoke(() => { Meanings.Clear(); ScrollToTop?.Invoke(); if (result != null && result?.Meanings?.Count > 0) { Meanings.AddRange(result.Meanings); } else { meanings.Add(new Meaning { Word = $"未找到 (´;ω;`)" }); } }); })); }
private async Task Initialise() { IsRunning = true; RaisePropertyChanged("IsRunning"); IEnumerable <Models.LeaderSummary> summaries = await _leaderService.GetLeadersAsync(false); int myId = await _userService.GetMyUserIdAsync(); foreach (Models.LeaderSummary summary in summaries) { LeaderSummaryViewModel vm = new LeaderSummaryViewModel(summary); vm.IsMe = (summary.id == myId); Leaders.Add(vm); } IsRunning = false; RaisePropertyChanged("IsRunning"); SearchResults = Leaders; RaisePropertyChanged("SearchResults"); var mysummary = Leaders.FirstOrDefault(l => l.IsMe == true); ScrollToMe?.Invoke(mysummary); var firstLeader = Leaders.FirstOrDefault(); ScrollToTop?.Invoke(firstLeader); }