我正在使用WebClient从xml文件解析数据。在DownloadStringCompleted方法中,我有一个字符串,它被解析,我想传入一个单击事件处理程序。我想要点击事件来打开我的应用程序的市场细节。为此,我需要一个解析的字符串,它是一个GUID并将其放置在事件处理程序中。我试图谷歌它并没有发现。我只是无法弄清楚如何去做。将解析的字符串传递到单击事件处理程序中
任何帮助将不胜感激。谢谢!
下面的代码:
public void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
XDocument moreApps = XDocument.Parse(e.Result);
morePageAppList.ItemsSource = from Apps in moreApps.Descendants("App")
select new MoreApps
{
MoreImage = Apps.Element("link").Value,
Price = Apps.Element("price").Value,
Title = Apps.Element("title").Value
};
var link = (from Apps in moreApps.Descendants("App")
select new MoreApps
{
AppUri = (string)Apps.Element("marketplace").Value
}).Single();
string appLink = link.AppUri;
}
private void App_Name_Click(object sender, RoutedEventArgs e)
{
MarketplaceDetailTask marketplaceDetailTask = new MarketplaceDetailTask();
marketplaceDetailTask.ContentIdentifier = "Marketplace GUID";
marketplaceDetailTask.Show();
}
更新的代码:
morePageAppList.ItemsSource = from Apps in moreApps.Descendants("App")
select new MoreApps
{
MoreImage = Apps.Element("link").Value,
Price = Apps.Element("price").Value,
Title = Apps.Element("title").Value
};
var link = (from Apps in moreApps.Descendants("App")
select new MoreApps
{
AppUri = (string)Apps.Element("marketplace").Value
}).FirstOrDefault();
appLink = link.AppUri;
}
private void App_Name_Click(object sender, RoutedEventArgs e)
{
ShowMarket(appLink);
}
private void ShowMarket(string id)
{
MarketplaceDetailTask marketplaceDetailTask = new MarketplaceDetailTask();
marketplaceDetailTask.ContentIdentifier = id;
marketplaceDetailTask.Show();
}
你在哪里创建按钮?如果您通过绑定将该按钮的“内容”赋予,您可以给它一个AppUri的“标签”。 – 2012-01-05 20:57:30
我将如何使用标签? – 2012-01-05 21:35:15
在您的点击事件中,var button =(Button)sender; var moreapps =(MoreApps)button.Tag; MessageBox.Show(moreapps.AppUri); – 2012-01-05 21:38:33