0
public partial class MainPage : PhoneApplicationPage
{
    // Constructor
    public MainPage()
    {
        InitializeComponent();
        myButton.Click += new RoutedEventHandler(myButton_Click);
    }

    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<NewsItem>>(e.Result);
        lstEmployee.ItemsSource = rootObject;
    }

    public class NewsItem
    {
        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; }
    }
}

これは私のコードで、Listview news_title と news_data でデータを印刷できます。
ここで、特定のニュース項目の項目を選択し、その news_description を別のページに表示したいと考えています。

実装方法を教えてください。

4

1 に答える 1

3

私はあなたが使用していると思います.ListBoxだからこのようにしてみてください

    <ListBox x:Name="lstEmployee" SelectionChanged="lstEmployee_SelectionChanged_1" /> <br/><br/>

    private void lstEmployee_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
    {
        NewsItem selectedItem = (sender as ListBox).SelectedItem;
        if (selectedItem != null)
        {
            // pass news detail as parameter and take it from you nerw page
            NavigationService.Navigate(new Uri(string.Format( "/Path/YourNewPage.xaml?desc=selectedItem.news_detail_description ", UriKind.Relative));
        }
    } 

このリンクは、ページ間でパラメーターを渡す方法を理解するのに役立ちます。

追加:nkchandraによる

NewsItem 全体を別のページに渡すには、Application.Current を使用するのが最善の方法の 1 つです。

最初に App.xaml.cs ページで NewsItem のインスタンスを作成します

public NewsItem selectedNewsItem;

次に、ListBox の SelectionChanged イベント ハンドラで、

    NewsItem selectedItem = (sender as ListBox).SelectedItem;
    if (selectedItem != null)
    {
        (Application.Current as App).selectedNewsItem = selectedItem;
        // Navigate to your new page
        NavigationService.Navigate(new Uri("/YourNewPage.xaml", UriKind.Relative));
    }

最後に、新しいページで、上記と同じ方法で selectedNewsItem にアクセスできます。

    NewsItem selectedNewsItem = (Application.Current as App).selectedNewsItem;
于 2013-03-20T05:41:35.867 に答える