我希望如果用户更改了列表框项,并且上一个任务尚未完成,则该任务停止并启动新任务。我该怎么做?
我使用了此代码,但无法正常工作。
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token;
private void Listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (task != null && (task.IsCompleted == false || task.Status == TaskStatus.Running))
{
if (source != null)
source.Cancel();
}
task = LoadArts();
}
private async Task LoadArts()
{
token = source.Token;
await Task.Run(() =>
{
}
, token);
}
白猪掌柜的
相关分类