列表视图/列表过滤器Windows Phone 8.1 C#

列表视图/列表过滤器Windows Phone 8.1 C#,c#,list,listview,windows-phone-8.1,C#,List,Listview,Windows Phone 8.1,我有一份数据清单 public class PopImage { public async Task<List<PopImage>> PopDatas() { string imgfolder = "PopularImages"; var data = new List<PopImage>(); StorageFolder folder = Windows.ApplicationModel.Pac

我有一份数据清单

public class PopImage
{
    public async Task<List<PopImage>> PopDatas()
    {
        string imgfolder = "PopularImages";
        var data = new List<PopImage>();
        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; }
}
公共类PopImage
{
公共异步任务PopDatas()
{
字符串imgfolder=“PopularImages”;
var data=新列表();
StorageFolder folder=Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder子文件夹=等待文件夹.GetFolderAsync(imgfolder);
var files=await subfolder.getfileasync();
foreach(文件中的var项)
{
添加(新的PopImage(imgfolder+“/”+items.DisplayName+”.jpg“,items.DisplayName));
}
返回数据;
}
公共PopImage(字符串imagePath、字符串imageName)
{
ImagePath=ImagePath;
ImageName=ImageName;
}
公共字符串ImagePath{get;set;}
公共字符串ImageName{get;set;}
}
我想添加一个文本框并在文本框文本发生更改时对其进行过滤,
应用它需要什么?

您需要在文本框中添加TextChanged事件。 首先在XAML中添加以下内容:

<TextBox Name="tbListFilter" TextChanged="tbListFilter_TextChanged"/>
基于@WPMed

我尝试从筛选的项目中创建一个新列表

var FilteredList= new List<PopImage>();
        foreach (var data in popimagelist)
        {
            if(data.ImageName.ToUpper().Contains(FilterText.Text.ToUpper()))FilteredList.Add(data);
        }
var FilteredList=new List();
foreach(popimagelist中的var数据)
{
if(data.ImageName.ToUpper().Contains(FilterText.Text.ToUpper()))FilteredList.Add(data);
}

谢谢你的帮助

谢谢你的回答,但不幸的是,在我的情况下,我无法100%实现它,因此我对视图进行了更改,我将把它添加到我的回答中。再次感谢。真的很有帮助。哦,我看到你的变化了。但是为什么你不能应用LINQ版本呢?我得到了红色的斜线:字符串不包含“Contains”的定义,我不知道发生了什么。很酷,它可以工作!我错过了什么?区别是什么?问题是在以前的版本中,我使用了一个扩展方法,所以我的Contains方法有两个参数。第二个参数表示大小写不敏感。你能接受我的回答吗?
var FilteredList= new List<PopImage>();
        foreach (var data in popimagelist)
        {
            if(data.ImageName.ToUpper().Contains(FilterText.Text.ToUpper()))FilteredList.Add(data);
        }