我正在使用后台传输下载视频,并且订阅了每个请求的 TransferStatusChanged 和 TransferProgressChanged 事件以监控其状态和下载进度。当我使用 BackgroundTransferService.Remove() 方法取消一个后台传输请求时,它触发了msdn 提到的 TransferStatusChanged 事件。我不想执行事件处理程序,所以我尝试在删除请求之前取消订阅事件,如下面的代码:
BackgroundTransferRequest transferToRemove = BackgroundTransferService.Find(requestId);
if (transferToRemove != null)
{
transferToRemove.TransferStatusChanged -= transfer_TransferStatusChanged;
transferToRemove.TransferProgressChanged -= transfer_TransferProgressChanged;
BackgroundTransferService.Remove(transferToRemove);
}
但是 TransferStatusChanged 事件处理程序仍然被触发。谁能帮我?