实际上我正在开发一个WPF应用程序。这个应用程序有一个AutoCompleteBox我想用WCF服务方法连接。
WCF服务返回地址和街道名称。
<input:AutoCompleteBox IsTextCompletionEnabled="False" KeyUp="AutoCompleteBox_KeyUp" ></input:AutoCompleteBox>
我想通过WCF服务开始搜索,如果由于数据大小我输入的字符超过3个字符。
private async void AutoCompleteBox_KeyUp(object sender, KeyEventArgs e)
{
AutoCompleteBox input = (AutoCompleteBox)sender;
input.ItemsSource = null;
if(e.Key == Key.Back)
{
if (input.Text.Length >= 3)
{
await FillAutoCompleteBox(input);
}
}
if (input.Text.Length >= 3)
{
await FillAutoCompleteBox(input);
}
}
private async Task FillAutoCompleteBox(AutoCompleteBox input)
{
WCFService.DataServiceClient client = new WCFService.DataServiceClient();
List<string> list= new List<string>();
foreach (var result in client.GetStreets(input.Text))
{
suggestedList.Add(result.Name);
}
input.ItemsSource = suggestedList;
}
它有效,但它真的很慢,因为它们是很多建议的街道。 示例类型:'roa ..'