Я хочу, чтобы, если пользователь изменил элемент списка и предыдущая задача еще не была выполнена, эта задача останавливается и запускается новая задача.Как я могу это сделать?
Я использовал этот код, но не работал.
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);
}