Silverlight - 执行一次后停止查询已完成事件

时间:2011-11-25 15:11:50

标签: silverlight

我有一个foreach循环,如下所示:

 foreach (var rec in lstPRSCRPT)
          {
              var OrderItemQuery = GV.dbContext.Load(GV.dbContext.GetOrdritemsQuery (rec.PresNo));
              OrderItemQuery.Completed += new EventHandler(OrderItemQuery_Completed);              
          }       

在OrderItemQuery_Completed事件中,对于每次回调,我都有一些计算来查找是否达到了certian条件。如果是这样,我不想再获得任何进一步的OrderItemQuery_Completed回调。有没有办法可以做到这一点?有没有办法阻止OrderItemQuery_Completed被触发。

我取消了这个事件,我得到了一个如图所示的错误:

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以在处理程序中取消订阅此事件,如下所示:

private void OrderItemQuery_Completed(object sender, ...) 
{
    var query = (OrderItemsQuery)sender;
    query.Completed -= OrderItemQuery_Completed;
    ....
}