【发布时间】:2012-09-13 21:44:06
【问题描述】:
当我从列表中选择一个项目时,整个选择过程会进行两次。
private void serving_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
try
{
Debug.WriteLine("Serving added to diary");
login(null, null);
}
catch (WebException)
{
Debug.WriteLine(e.Error);
}
ServingList.SelectedIndex = -1;
}
当我忽略ServingList.SelectedIndex = -1; 时,该过程会继续进行一次。但我需要将选定的索引恢复为 -1。
我错过了什么?
SelectionChanged 上的处理程序:
private void ServingList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Debug.WriteLine("\n[#] ServingList_SelectionChanged");
Debug.WriteLine("Selected item:" + ServingList.SelectedIndex);
Debug.WriteLine("ID of latest TP: " + tp.id);
String itemid = tp.id;
Produkt temp = (Produkt)ServingList.SelectedItem;
if (servingid.Length < 1)
{
servingid = temp.servingid;
}
WebClient addserving = new WebClient();
addserving.Credentials = new NetworkCredential(username.Text, passwort.Password);
addserving.Encoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
addserving.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
addserving.UploadStringAsync(new Uri("http://fddb.info/api/v8/diary/add_item.xml?apikey=ICPOKUI83555PU43"), "&item_id=" + itemid + "&serving_id=" + servingid);
addserving.UploadStringCompleted += new UploadStringCompletedEventHandler(serving_UploadStringCompleted);
Pivot.SelectedIndex = 0;
}
【问题讨论】:
-
“选择过程”是什么意思?
-
当我从我的列表中选择一个项目时,该项目将被添加到另一个列表中。但这在上面的代码中发生了两次。
-
ServingList 上是否有任何事件处理程序?
-
什么订阅了这个事件?
-
是的,有。我只是将它粘贴在我的原始帖子中。