1

ユーザーが WPF TextBox に入力できるようにしたい状況があります。キーストロークごとに OnPropertyChanged を呼び出し、バインディング ソースにプッシュします (SourceUpdatedTrigger=PropertyChanged を使用)。 (たとえば... 1 秒) これは、ユーザーが入力を停止するのを待ってから、スペルができないと伝えるスペル チェック システムのようなものだと考えてください。

私の問題は次のとおりです。

 await TaskEx.Delay(1000, cts.Token);
 await TaskEx.RunEx(PollAsync, cts.Token);

実際にキャンセルするまでは正常に動作しますが、キャンセル トークン ソースは永続的に「キャンセル要求」状態になり、CTS を再インスタンス化する必要があります...これは...根本的に間違っているようです...もっと良い方法はありますか?" CTS をリセットしますが、キャンセルする必要があることを既存のトークンに通知しますか?

4

1 に答える 1

2

いいえ、CancellationTokenSourceキャンセルできるのは 1 回だけです。おっしゃる通り、キャンセルした後に新しいタスクを作成する必要があります。

于 2010-12-01T22:07:56.363 に答える