2

我需要实现一个建议框,为此我放置了一个条目来接受关键字,并在其下方使用 Listview 来显示建议。Listview 已经有 DataSource 和一些条目。现在我想实现它像 -

“例如,如果关键词是:

  • 牛奶
  • 奶油

当用户输入 ""m"" 时,Cream 被过滤掉,只显示 Milk 和 Meat,因为它们以 ""m"" 开头。当用户输入“mi”时,Meat 也会被过滤掉,只显示 Milk。”

4

2 回答 2

2

干得好

       var list = new List<string> { "Milk", "Cream", "Meat" };
        var myListView = new ListView();
        myListView.ItemsSource = list;



        var entry = new Entry();
        entry.TextChanged += delegate(object sender, TextChangedEventArgs args)
        {
            if (string.IsNullOrEmpty(entry.Text))
            {
                myListView.ItemsSource = list;
            } 

            else
            {


                myListView.ItemsSource = list
                        .Where(x => x.ToLower()
                           .StartsWith(entry.Text.ToLower()));
            }
        };

        MainPage = new ContentPage()
            {
                Content = new StackLayout()
                {
                    Children = { entry, myListView }
                }

            };
于 2016-06-08T19:28:55.633 回答
-1

您可以通过将其更改为以下内容来使其不区分大小写:

myListView.ItemsSource = list.Where(x => x.ToLower().StartsWith(entry.Text.ToLower())); 
于 2016-09-17T02:30:28.777 回答