WPF Autocompletebox WCF服务

时间:2016-02-02 14:25:55

标签: .net wpf performance wcf autocomplete

实际上我正在开发一个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 ..'

0 个答案:

没有答案