public async Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo) { IEnumerable itemssource = source.ItemsSource as IEnumerable; var filteredItems = (from CityInfo item in itemssource where item.CountryName.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase) || item.CityName.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase) select item); return(await Task.FromResult(filteredItems)); }
public async Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo) { List <ContinentInfo> list = new List <ContinentInfo>(); IEnumerable itemsSource = source.ItemsSource as IEnumerable; list.AddRange(from item in itemsSource.Cast <ContinentInfo>() let filteritem = this.GetStringFromMemberPath(item, nameof(item.Country)) where filteritem.Contains(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase) select item); var collectionViewSource = new CollectionViewSource(); collectionViewSource.Source = list.GroupBy(item => item.Continent); collectionViewSource.IsSourceGrouped = true; return(await Task.FromResult(collectionViewSource.View)); }
public async Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo) { if (this.cancellationTokenSource != null) { this.cancellationTokenSource.Cancel(); this.cancellationTokenSource.Dispose(); } this.cancellationTokenSource = new CancellationTokenSource(); CancellationToken token = this.cancellationTokenSource.Token; return(await Task.Run(() => { List <string> list = new List <string>(); for (int i = 1; i < 100; i++) { list.Add(filterInfo.Text + i); } return list; }, token)); }
public Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo) { return(GetGoogleSuggestions(filterInfo.Text)); }