2012-01-16 60 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 ...我建議你使用它們太。

希望它有幫助

相關問題