作成しているWindowsPhone7.5アプリケーションで、ナビゲーションサービスをボタンにバインドする際に問題が発生しました。ボタンはXAMLのListBoxデータテンプレート内にあり、JSONデシリアライザーのコードビハインドから入力されます。
void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
return;
}
List<JSON> newslistJson = JsonConvert.DeserializeObject<List<JSON>>(e.Result);
this.NewsList.ItemsSource = newslistJson;
}
NewsListリストボックスは、上記のコードと、「getters」および「setters」を含むクラスファイルを介してここに入力されます。ただし、前述のように、リストボックスとそのDataTemplateの内部には、次のボタンがあります。
<Button x:Name="toNewsSite" Grid.Row="1" Content="Read More»" Height="auto" Width="auto" FontSize="19" Foreground="#FFFFFF"/>
このボタンは、最初のコードスニペットを介して、各アイテムのnews_idに移動する必要があります。これは、パブリックゲッターとセッターを処理するクラスファイル内の文字列です。
したがって、ここでの私の夢のシナリオは、コードビハインドで、webClient_DownloadString ...()内に次のようなものになります。
toNewsSite.NavigateService = ("TheNewPage.xaml/news?id={0}", JSON.news_id);
そこから、リストボックス内の各ニュースアイテムには、「TheNewPage」ページで取得されるnews_idを示すパラメータを持つ個別のボタンがあります。
これは実際に機能しますか?