私は現在、Windows Phone 7向けのアプリケーションを開発しています。複数のRSSフィードを取得し、それぞれを異なるリストボックスに表示しようとしています。
と呼ばれるカスタムクラスを作成しました
public class RssFeed
{
public string Title { get; set; }
public string Url { get; set; }
public ListBox MyListBox { get; set; }
}
RssFeedのリストを作成し、次のことを実行しようとしています
foreach (RssFeed item in items)
{
WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler((sender, e) => this.webClient_DownloadStringCompleted(sender, e, item.MyListBox));
webClient.DownloadStringAsync(new System.Uri(item.Url));
}
イベントがあります
private void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e,ListBox listBox)
問題は、パラメーターlistBoxが、イベントハンドラーを作成したときの最後のListBoxであるすべてのイベントで同じであるということです。
例:最初のアイテムがListBox1に等しいMyListBoxを持っているリストアイテムがあり、2番目のアイテムがListBox2に等しいMyListBoxを持っている
イベントwebClient_DownloadStringCompletedは、常にパラメーターListBox2を使用して呼び出されます。
必要に応じてパラメータの異なる値を取得するにはどうすればよいですか。ありがとうございました