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 合理的建议。
我想在我的 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 合理的建议。