Windows Phone 8.1中的AutoSuggestBox出现奇怪的结果

Igo*_*man 5 c# xaml windows-phone-8 windows-phone-8.1

我试图AutoSuggestBox在Windows Phone 8.1 XAML应用程序中使用该标准,但它的行为非常奇怪.

在一个简单的演示中,我有收集

Items = new ObservableCollection<string>
        {
            "a",
            "b",
            "c",
            "d"
        };
Run Code Online (Sandbox Code Playgroud)

和他在XAML中的AutoSuggestBox:

<AutoSuggestBox ItemsSource="{Binding Items}" />
Run Code Online (Sandbox Code Playgroud)

问题是,无论我写什么AutoSuggestBox,我总是得到所有的项目:

在此输入图像描述

文档说几乎没有,我没有找到任何使用此控件的示例.

小智 6

请尝试以下代码:

    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;
    }
Run Code Online (Sandbox Code Playgroud)

这应该适用于WP 8.1


Jon*_*eet 4

根据这篇博客文章,看起来您所期望的(自动过滤)并非如此 - 相反,您需要挂钩事件TextChangedSuggestions自己填充集合。

文档中:

当用户更改文本时,应用程序会收到通知,并负责提供此控件显示的相关建议。