2013-11-28 42 views
0

我使用的是从REST服务获取数据的AutocompleteBox控件。我的代码看起来像这样:AutoCompleteBox WindowsPhone

MODEL:

public class Word() 
{ 
    public int wordId {get;set} 
    public int wordName {get;set;} 
} 

XAML:

 <toolkit:AutoCompleteBox x:Name="AutoDictionaryTB" Populating="AutoDictionaryTB_Populating_1" HorizontalAlignment="Left" Margin="63,10,0,0" Grid.Row="1" VerticalAlignment="Top" Width="383"> 
    </toolkit:AutoCompleteBox> 

后面的代码:

private void AutoDictionaryTB_Populating_1(object sender, PopulatingEventArgs e) 
    { 
     var client = new RestClient("http://XXX.XXXX.XX"); 
     var request = new RestRequest("/XXX.XXX.XX", Method.GET); 
     request.AddParameter("XX", "XX"); 
     request.AddParameter("XX", "XX"); 
     request.AddParameter("XXX", (sender as AutoCompleteBox).Text); 

     var response2 = client.ExecuteAsync<List<Word>>(request, response => 
     { 
      if (response != null && response.Data != null) 
      { 
       AutoDictionaryTB.ItemsSource = response.Data; 
       AutoDictionaryTB.PopulateComplete(); 
      } 
      else 
      { 
       MessageBox.Show("Unknow error occured. Check your Internet connection or try later."); 
      } 
     }); 
    } 

在该行:

AutoDictionaryTB.ItemsSource = response.Data; 

我有我需要的所有服务,所以服务工作完美。为什么控制不显示这些价值?虽然回答是空的。数据充满了单词。

回答

0

尝试向AutoCompleteBox添加ValueMemberBinding =“{Binding wordName}”以告知组件应该使用哪个类的哪个属性。如果不起作用,请添加一个ItemTemplate。