У меня есть ситуация, когда я хочу разрешить пользователю вводить текст в текстовое поле WPF, при каждом нажатии клавиши я вызываю OnPropertyChanged и нажимаю на источник привязки (используя SourceUpdatedTrigger = PropertyChanged). Я хочу, чтобы перед попыткой обработать данные (скажем ... 1 секунду) Думайте об этом как о системе проверки орфографии, в которой пользователь ждет, пока пользователь прекратит печатать, прежде чем сказать им, что он не может записать.
Моя проблема:
await TaskEx.Delay(1000, cts.Token);
await TaskEx.RunEx(PollAsync, cts.Token);
работает нормально до тех пор, пока вы на самом деле не отмените, но тогда источник токена отмены постоянно находится в состоянии "запрос на отмену", и мне нужно повторно установить CTS ... это кажется ... в корне неправильно ... Есть ли лучше способ «перезагрузить» CTS, но все же уведомить существующие токены о том, что их следует отменить?