列表视图/列表过滤器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);
}