private async void OnSearchKeyWordChanged() { IEnumerable <Music> musicModels; if (string.IsNullOrEmpty(SearchKeyWord)) { musicModels = Tracks; } else { musicModels = Tracks.AsParallel().Where(x => (x.Name?.IndexOf(SearchKeyWord, StringComparison.OrdinalIgnoreCase)) > -1 || (x.ArtistName?.IndexOf(SearchKeyWord, StringComparison.OrdinalIgnoreCase)) > -1 || (x.AlbumName?.IndexOf(SearchKeyWord, StringComparison.OrdinalIgnoreCase)) > -1 ).ToArray(); } await DisplayTracks.AddRangeAsync(musicModels); //const int CountPerPage = 30; //int pageCount =(int)Math.Ceiling( musicModels.Count() /(double) CountPerPage); //DisplayTracks.Clear(); //for (int i = 0; i < pageCount; i++) //{ // DisplayTracks.AddRange(musicModels.Skip(i * CountPerPage).Take(30)); // await Task.Delay(150); //} }