Я столкнулся с этой проблемой в течение нескольких дней, я не смог ее решить. Список в моем телефоне Windows ничего не отображает. Я даже не уверен, работает ли json deser.Listbox не отображает десериализованные данные JSON
Код примера json внутри кода C#.
Это часть C# в WP8
private void Button_Click_1(object sender, RoutedEventArgs e)
{
webserv.maintain_serverPortTypeClient tables = new webserv.maintain_serverPortTypeClient();
tables.view_tableAsync();
tables.view_tableCompleted += new EventHandler<webserv.view_tableCompletedEventArgs>(tbviewcomplete);
}
public void tbviewcomplete(object obj, webserv.view_tableCompletedEventArgs e)
{
MessageBox.Show(e.Result.ToString());
// var table_json = e.Result.ToString();
// var table_json = "[{\"tableID\":\"61\",\"size\":\"4\",\"zone\":\"Non-Smoking\",\"area\":\"Outdoor\"},{\"tableID\":\"62\",\"size\":\"4\",\"zone\":\"Non-Smoking\",\"area\":\"Outdoor\"},{\"tableID\":\"63\",\"size\":\"4\",\"zone\":\"Smoking\",\"area\":\"Indoor\"},{\"tableID\":\"64\",\"size\":\"30\",\"zone\":\"Smoking\",\"area\":\"Indoor\"}]";
// MyTables[] result = JsonConvert.DeserializeObject<MyTables[]>(table_json);
List<MyTables> gesult = JsonConvert.DeserializeObject<List<MyTables>>(e.Result);
tableview.ItemsSource = gesult;
}
public class MyTables
{
public string table_id { get; set; }
public string table_size { get; set; }
public string table_zone { get; set; }
public string table_area { get; set; }
}
И это часть кода XAML.
<ListBox x:Name="tableview" ItemsSource="{Binding data}" HorizontalAlignment="Left" Height="474" VerticalAlignment="Top" Width="456">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel DataContext="{Binding}">
<TextBlock FontSize="{StaticResource PhoneFontSizeMedium}" Text="{Binding table_id}" />
<TextBlock Text="{Binding table_size}" />
<TextBlock Text="{Binding table_zone}" />
<TextBlock Text="{Binding table_area}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я не знаю, где пошло не так, и оно не отображается. Пожалуйста, бросьте мне несколько советов. Я очень новичок в C# и Json.
Если установить точки останова делает 'gesult' содержит ряд результатов, как ожидалось? – geedubb
Tnx Brent для редактирования. Теперь вопрос имеет смысл. @ user3159789, вопросы не могут содержать теги, поэтому ваш вопрос был отредактирован. –
О, я вижу, я не знал, поскольку я новичок в stackoverflow. По-видимому, это мой первый пост. Спасибо за помощь ! –