簡體   English   中英

ListView /列表過濾器Windows Phone 8.1 C#

[英]ListView / List Filter Windows Phone 8.1 C#

我有數據清單

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; }
}

我想添加一個文本框並對其進行過濾(如果文本框已更改),我需要應用什么?

您需要將TextChanged事件添加到TextBox中。 首先在您的XAML中添加以下內容:

<TextBox Name="tbListFilter" TextChanged="tbListFilter_TextChanged"/>

那么后面的代碼是:

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<PopImage>();
        foreach (var data in popimagelist)
        {
            if(data.ImageName.ToUpper().Contains(FilterText.Text.ToUpper()))FilteredList.Add(data);
        }

感謝您的幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM