如何在Xamarin表单中的Entry中实现搜索建议

时间:2016-06-08 13:15:38

标签: listview xamarin.forms xamarin.forms.entry

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

那样实现它

"例如,如果关键词是:

并且当用户键入""""时,会过滤掉奶油,只显示牛奶和肉类,因为它们以""""" 34;&#34 ;.当用户输入"" mi""时,肉类也被过滤掉,只显示牛奶。"

2 个答案:

答案 0 :(得分: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 }
                }

            };

答案 1 :(得分:-1)

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

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