我想在我的Windows Phone 8.1 app中使用一些功能,我的用户输入了一些字符,我建议他说一些字。
public IEnumerable AutoCompletions = new List<string>()
{
"Lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit", "Nullam", "felis", "dui", "gravida", "at"};
例如用户输入&#34; a&#34;我建议&#34; amet&#34;,&#34; at&#34;和&#34; adipiscing&#34;,进一步的用户输入&#34; am&#34;我建议&#34; amet&#34;。 请帮帮我
答案 0 :(得分:4)
您要做的是仅显示适用于给定输入的建议。并非所有可能的字符串。
让我们假设你有以下AutoSuggestBox:
<AutoSuggestBox
TextChanged="AutoSuggestBox_TextChanged"
SuggestionChosen="AutoSuggestBox_SuggestionChosen">
<AutoSuggestBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</AutoSuggestBox.ItemTemplate>
</AutoSuggestBox>
这些是事件处理程序:
private void AutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
{
if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
{
// You can set a threshold when to start looking for suggestions
if (sender.Text.Length > 3)
{
sender.ItemsSource = getSuggestions(sender.Text);
}
else {
sender.ItemsSource = new List<String> { };
}
}
}
您所要做的就是编写一个getSuggestions(String text)
方法,为给定的输入返回合理的建议。