繁体   English   中英

JSON的wp7列表框绑定

[英]wp7 listbox binding from json

大家好,我有一个小问题,我无法绑定列表框中的数据,如果有人可以告诉我是什么问题,请

我解析我的数据,我从下面的json中得到了我想要的一切

{
maj: true,
data: [
{
c: 2,
t: 0,
r: [
168,
"La rentrée Auchan",
0,
"2012-08-15 00:00:00",
"2012-08-21 00:00:00",
56,
"VL"
]
},
....

我毫无疑问地解析了我想要的数据,我得到了我想要的所有数据,但是在这种情况下我不知道如何绑定它。 注意:json结果在e.result中

  var obj = App.Current as App;
            // obj.R2= JsonConvert.DeserializeObject<Root>(e.Result).data.Where(d => d.t == 0).SelectMany(d => d.r.Take(2));

            JObject jobject = JObject.Parse(e.Result);
            JArray arr = (JArray)jobject["data"];
            List<JsonC> apps = new List<JsonC>();
            for (int i = 0; i < arr.Count; i++)
            {
                apps.Add(new JsonC { t = (int)arr[i]["t"], r = (JArray)arr[i]["r"] });
            }
            List<int> itList = new List<int>();
            List<int> Number = new List<int>();
            List<string> Name = new List<string>();
            List<string> stList = new List<string>();
            //listClients.ItemsSource = apps.Where(ap => ap.t == 0);
            foreach (var el in apps.Where(ap => ap.t == 0))
            {
                itList.Add((int)el.r[0]);
                Name.Add((string)el.r[1]);
                Number.Add((int)el.r[5]);
                stList.Add((string)el.r[6]);
            }

            obj.R1 = itList;
            obj.R2 = Number;
            obj.R3 = Name;
            obj.R4 = stList;

现在我试图在texblock中绑定obj.R3,但是它没有任何帮助吗?

<ListBox Height="512"  Margin="0,-2,6,0" Name="listClients" VerticalAlignment="Top" Loaded="listImage_Loaded">

                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <toolkit:WrapPanel ItemHeight="150" ItemWidth="150"/>
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>

                                <TextBlock Text="{Binding obj.R3}" x:Name="Textblock1" Foreground="Black" Width="100" TextAlignment="Center" Style="{StaticResource PhoneTextSubtleStyle}"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

您应该从代码本身后面为ListBox指定Datacontext。

listClients.ItemsSource = obj.R3;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM