У меня есть небольшой код, который считывает ответ json с HTTP-сервера, затем анализирует его и вставляет данные в ListBox
] control.
Событие, которое я запускаю, когда загрузка завершается, выглядит следующим образом:
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
DataContractJsonSerializer ser = null;
try
{
ser =
new DataContractJsonSerializer(typeof(ObservableCollection<UserLeaderboards>));
ObservableCollection<UserLeaderboards> users =
ser.ReadObject(e.Result) as ObservableCollection<UserLeaderboards>;
foreach (UserLeaderboards em in users)
{
int Fid = em.id;
string Fusername = em.username;
int Fscore = em.score;
lstbLeaders.Items.Add(Fid + Fusername + Fscore);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Теперь, когда я выполняю items.add
, я предполагаю, что он просто объединяет 3 переменные и добавляет их в один столбец в ListBox
. Это работает нормально, и я вижу, что все 3 элемента объединены и отображаются.
Я хочу разделить это и сделать его немного лучше, поэтому я создал XAML
, чтобы попытаться связать переменные с текстовыми блоками . Следующее - это просто привязка имени пользователя. У меня также есть открытый класс, который получает / устанавливает все 3 переменные.
<ListBox Height="346" HorizontalAlignment="Left" Margin="5,221,0,0"
Name="lstbLeaders" VerticalAlignment="Top" Width="446">
<DataTemplate>
<TextBlock Text="{Binding Source=Fusername}" />
</DataTemplate>
</ListBox>
При запуске вышеупомянутого я вообще ничего не вижу. У меня такое чувство, что это что-то простое?
Спасибо.