im пытается создать ComboBox
, заполненный данными, которые я получил от службы REST.Связать данные службы REST с ComboBox
В моем окне у меня есть метод, чтобы получить данные и установить ViewModel:
private void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
String url = "http://localhost:8081/HTTP/testFrigoexim/prijem/getDodavatele";
WebClient client = new WebClient();
String response = client.DownloadString(url);
Dodavatele dodavatele;
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Dodavatele));
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(response)))
{
dodavatele = (Dodavatele)serializer.ReadObject(stream);
}
ComboBoxDodavatele.DataContext = new ViewModel(dodavatele);
}
Класс представляет данные от REST службы:
namespace TestovaciAplikace.Prijem
{
[DataContract]
public class Dodavatele
{
[DataMember]
public List<Dodavatel> dodavatele { get; set; }
}
public class Dodavatel
{
public string CODE { get; set; }
}
}
и последний класс, ViewModel
namespace TestovaciAplikace.Prijem
{
public class ViewModel : NotifyPropertyChanged
{
public Dodavatele dodavatele { get; set; }
public ViewModel(Dodavatele dodavatele)
{
this.dodavatele = dodavatele;
}
}
}
Связывание с ComboBox -
<ComboBox Name="ComboBoxDodavatele" HorizontalAlignment="Left" Margin="109,10,0,0" VerticalAlignment="Top" Width="210" Height="35"
Loaded="ComboBox_Loaded" ItemsSource="{Binding dodavatele}" DisplayMemberPath="CODE"/
Если я запускаю программу, ComboBox
пуст. Если я заменил ny ViewModel
, чтобы вернуть только простой List<String>
, он работает (если я изменяю свойства привязки), но я не могу заставить его работать с моими данными JSON. Любой совет?
О человеке, спасибо! Измените его, и похоже, что он работает! Если вы опубликуете его в качестве ответа, я приму это! – Sk1X1