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

时间:2014-10-29 17:41:09

标签: c# xaml windows-phone-8 windows-phone-8.1

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

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

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

和XAML中的AutoSuggestBox:

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

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

enter image description here

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

2 个答案:

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

这应该适用于WP 8.1

答案 1 :(得分:4)

基于this blog post,它看起来像你期望的那样(自动过滤)并非如此 - 相反,你需要挂钩TextChanged事件并填充Suggestions自己收集。

来自documentation

  

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