1

我有一个使用网站 API 的应用程序。它返回这个 xml:

<xml>
  <id>48</id>
  <name>Nuno Horta</name>
  <user_lvl>2</user_lvl>
</xml>

我的代码是这个:

client.ExecuteAsync(request, response => {
                            var value = response.Content;
                            XElement loadedData = XElement.Parse(value);
                            var data = from query in loadedData.Descendants("xml")
                                       select new 
                                       {
                                           id = (int)query.Element("id"),
                                           name = (string)query.Element("name"),
                                       };
                            listBox.ItemsSource = data;
});

我想获取这两个值,id 和 name,以将它们保存在应用程序设置中,所以我试图在这里显示它们:

<TextBlock Text="XML Data:"/>
                <ListBox x:Name="listBox">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Margin="10" >
                                <TextBlock Text="{Binding name}"/>
                                <TextBlock Text="{Binding id}"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                   </ListBox>

顺便说一句,我正在使用 restsharp 使请求没有成功......有什么想法可以得到这些值吗?我需要使用其他 3 个 api 方法请求来执行此操作。谢谢!

4

1 回答 1

0

您需要修改数据绑定以使用 Path,因为您要绑定到项目的属性。

所以你的xaml应该是

<TextBlock Text="XML Data:"/>  
            <ListBox x:Name="listBox">  
                <ListBox.ItemTemplate>  
                    <DataTemplate>  
                        <StackPanel Margin="10" >  
                            <TextBlock Text="{Binding Path=name}"/>  
                            <TextBlock Text="{Binding Path=id}"/>  
                        </StackPanel>  
                    </DataTemplate>  
                </ListBox.ItemTemplate>  
               </ListBox> 

有关路径绑定的更多信息在这里

于 2012-08-15T20:24:28.140 回答