简体   繁体   中英

Strange results in AutoSuggestBox in Windows Phone 8.1

I am trying to use the standard AutoSuggestBox in a Windows Phone 8.1 XAML app, but it behaves really strangely.

In a simple demo, I have collection

Items = new ObservableCollection<string>
        {
            "a",
            "b",
            "c",
            "d"
        };

and he AutoSuggestBox in XAML:

<AutoSuggestBox ItemsSource="{Binding Items}" />

The problem is that no matter what I write to the AutoSuggestBox , I always get all the items:

在此输入图像描述

The documentation says next to nothing and I have not found any samples using this control.

Try the following code:

    private void AutoSuggestBox_TextChanged(AutoSuggestBox sender,
        AutoSuggestBoxTextChangedEventArgs args)
    {
            List<string> myList = new List<string>();
            foreach (string myString in PreviouslyDefinedStringArray)
            {
                if (myString.Contains(sender.Text) == true)
                {
                    myList.Add(myString);
                }
            }
            sender.ItemsSource = myList;
    }

This should work on WP 8.1

Based on this blog post , it looks like what you're expecting (automatic filtering) isn't the case - instead, you need to hook into the TextChanged event and populate the Suggestions collection yourself.

From the documentation :

The app is notified when text has been changed by the user and is responsible for providing relevant suggestions for this control to display.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM