2012-01-16 61 views
1

我正在使用AutoCompleteBox从服务器向其填充数据。我一开始尝试从TextChanged事件中做到这一点,但它崩溃了我的应用程序。我也尝试使用KeyUp和KeyDown,但这些也没有工作。从服务器填充AutoCompleteBox数据

这是我的代码:

if (!string.IsNullOrEmpty(txtWhat.Text.Trim())) 
{ 
    var webClient = new WebClient(); 
    webClient.DownloadStringCompleted += (s, ea) => 
    { 
      List<string> queries = ea.Result.Split(new char[] { '\n' }).ToList<string>(); 
      Queries.Clear(); 
      foreach (string str in queries) 
       Queries.Add(str); 
    }; 
    webClient.DownloadStringAsync(new Uri("www.myserver.me")); 
} 

的查询是我绑定到的AutoCompleteBox

+0

你可以发布你得到的异常吗?初看起来,这对我来说很合适。 – Nate 2012-01-16 16:29:06

+0

当我输入什么都不会发生时,它的实际动作很奇怪。但是当我点击退格时,弹出菜单闪烁一次并消失。 – Ateik 2012-01-16 16:35:54

+1

也许你应该使用调度程序访问查询,因为你是一个不同的线程。 – BigL 2012-01-16 16:54:09

回答

0

中的ItemsSource可以看到一个ObservableCollection这可以帮助您:

Silverlight Toolkit

当我使用AutoCompleatBox时,我测试过的主要事件是DropDownOpened和SelectionChanged ...我建议你使用它们太。

希望它有帮助

相关问题