ListView / List过滤Windows Phone 8.1 C#

我有一份数据清单

public class PopImage { public async Task<List> PopDatas() { string imgfolder = "PopularImages"; var data = new List(); StorageFolder folder = Windows.ApplicationModel.Package.Current.InstalledLocation; StorageFolder subfolder = await folder.GetFolderAsync(imgfolder); var files = await subfolder.GetFilesAsync(); foreach (var items in files) { data.Add(new PopImage(imgfolder+"/"+items.DisplayName+ ".jpg", items.DisplayName)); } return data; } public PopImage(string imagePath, string imageName) { ImagePath = imagePath; ImageName = imageName; } public string ImagePath { get; set; } public string ImageName { get; set; } } 

我想添加一个文本框并在文本框文本更改时对其进行过滤,我需要应用它?

您需要向TextBox添加TextChanged事件。 首先在你的XAML中添加:

  

然后背后的代码是:

 private void tbListFilter_TextChanged(object sender, TextChangedEventArgs e) { yourFilteredList = yourPopImageList.Where(p => p.ImageName.ToUpper().Contains(tbListFilter.Text.ToUpper())).ToList(); } 

基于@WPMed

我尝试从过滤的项目中创建一个新列表

 var FilteredList= new List(); foreach (var data in popimagelist) { if(data.ImageName.ToUpper().Contains(FilterText.Text.ToUpper()))FilteredList.Add(data); } 

感谢您的帮助