在我正在创建的 Windows Phone 7.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”的类文件来填充。但是,在 ListBox 和它的 DataTemplate 中,如前所述,有一个按钮:
<Button x:Name="toNewsSite" Grid.Row="1" Content="Read More»" Height="auto" Width="auto" FontSize="19" Foreground="#FFFFFF"/>
这个按钮应该通过第一个代码片段导航到每个项目的 news_id,这是处理公共 getter 和 setter 的类文件中的一个字符串。
所以我在这里的梦想场景是,在代码隐藏中,webClient_DownloadString...() 中的内容是这样的:
toNewsSite.NavigateService = ("TheNewPage.xaml/news?id={0}", JSON.news_id);
Aaand 从那里,列表框中的每个新闻项将有一个单独的按钮,该按钮带有一个参数,说明它具有哪个 news_id,这将在“TheNewPage”页面上获取。
这真的有用吗?