我正在尝试在Windows Phone 8.1 XAML应用程序中使用标准AutoSuggestBox
,但它的行为非常奇怪。
在一个简单的演示中,我有集合
Items = new ObservableCollection<string>
{
"a",
"b",
"c",
"d"
};
和XAML中的AutoSuggestBox:
<AutoSuggestBox ItemsSource="{Binding Items}" />
问题在于,无论我写给AutoSuggestBox
的是什么,我总是得到所有项目:
文档几乎没有说明,我没有找到使用此控件的任何示例。
答案 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
自己收集。
当用户更改文本时,会通知应用程序,并负责提供相关建议以显示此控件。