1

Webサイトの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;
});

これらの2つの値、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

アイテムのプロパティにバインドしているため、パスを使用するようにデータバインディングを変更する必要があります。

あなたの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 に答える