将数据绑定到Windows Phone中动态创建的网格中

时间:2013-02-20 13:05:56

标签: c# windows-phone-7 xaml

我是一个jsonObject,它包含数据&我想在我的Windows手机屏幕上显示这些数据。这个数据实际上是我从Web服务检索并将其转换为json对象。但由于我是Windows应用程序的新手,所以我不知道网格,画布等,所以有人可以帮我做这个吗?

我在下面的代码中写了这样做,但是所有的文本块都覆盖在一个以下,它可能是不正确的代码--->

for (var rows = 0; rows < jsonObject["data"].Count(); rows++)
            {
                for (var cols = 0; cols < jsonObject["data"][rows].Count(); cols++)
                {
                    ColumnDefinition scheduleTimeColumn = new ColumnDefinition();
                    GridLength timeGrid = new GridLength(10);
                    scheduleTimeColumn.Width = timeGrid;
                    grid1.ColumnDefinitions.Add(scheduleTimeColumn);

                    TextBlock timeTxtBlock = new TextBlock();
                    timeTxtBlock.Text = (String)jsonObject["data"][rows][cols];

                    timeTxtBlock.FontSize = 28;
                    timeTxtBlock.Margin = new Thickness(0, 20, 0, 0);

                    Grid.SetColumn(timeTxtBlock, 0);

                    grid1.Children.Add(timeTxtBlock);
                }
            }

1 个答案:

答案 0 :(得分:1)

你应该创建一个包含你需要的字段的类

public class C{
public string name {get; set; }
}

类的项目的可观察收集

ObservableCollection<C> AllAlbums = new ObservableCollection<C>();

创建一个绑定(例如创建一个列表框)

<ListBox x:Name="albumsListBox" ItemsSource="{Binding}">

                    <ListBox.ItemTemplate>
                        <DataTemplate>

                                        <TextBlock Text="{Binding Name}" />

                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

并将集合绑定到列表框

albumsListBox.DataContext = AllAlbums;