windows phone 8.1 中的自动完成文本框

Autocomplete textbox in windows phone 8.1

我想在我的 windows phone 8.1 应用程序中添加一些功能,让我的用户输入一些字符,然后我建议他输入一些单词。

public IEnumerable AutoCompletions = new List<string>()
{
 "Lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit", "Nullam", "felis", "dui", "gravida", "at"};

例如用户输入 "a",我建议 "amet"、"at" 和 "adipiscing",进一步的用户输入 "am",我建议 "amet". 请帮助我

您要做的是仅显示适用于给定输入的建议。并非所有可能的字符串。

假设您有以下 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) 方法,为给定的输入 returns 合理的建议。