1
   void myButton_Click(object sender, RoutedEventArgs e)
        {

            WebClient webClient = new WebClient();
            webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);

            webClient.DownloadStringAsync(new Uri("http://www.taxmann.com/TaxmannWhatsnewService/mobileservice.aspx?service=topstories"));
        }

   void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            var rootObject = JsonConvert.DeserializeObject<List<Contacts>>(e.Result);         
        }

        public class Contacts
        {
            public string news_id { get; set; }
            public string news_title { get; set; }
            public string website_link { get; set; }
            public string imagepath { get; set; }
            public string news_date { get; set; }
            public string news_detail_description { get; set; }

        }

これは私のC#コードです。応答に含まれるアイテムの数を数えることはできます var rootObject = JsonConvert.DeserializeObject<List<Contacts>>(e.Result); が、データを印刷できません。印刷方法を教えてください。私が理解できるように、少なくとも1つのアイテムを印刷してください

4

1 に答える 1

0

XAMLでUIを準備し、コードビハインドからデータバインディングを設定する必要があります。

xamlコードの例:

<ListBox Name="ListBoxNews" Margin="10,0,30,0" Height="486" Width="404" FontSize="20">
            <ListBox.ItemTemplate>
                <DataTemplate >
                    <StackPanel Margin="10,0,10,8">
                        <TextBlock Text="{Binding news_date}" TextWrapping="Wrap" FontSize="18" />
                        <TextBlock Text="{Binding news_title}" TextWrapping="Wrap" FontSize="24" /> 
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

そして、コードビハインドからのデータバインディング。

void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        var rootObject = JsonConvert.DeserializeObject<List<Contacts>>(e.Result);
        ListBoxNews.ItemsSource = rootObject;
    }

これを試して、まだ疑問があるかどうか私に尋ねてください。

于 2013-03-19T11:48:10.690 に答える