0

私のアプリケーションでは、ユーザーは行を DataGrid に追加し、各行のプロパティを変更できます。ユーザーは行を削除することもできます。これらのアクションを元に戻したりやり直したりすることは問題なく機能しますが、ユーザーが行を追加した場合、たとえば 3 行を追加し、いくつかの値を変更してから元に戻し、行が 1 つしかない場所に戻し、新しい行を追加すると、元に戻すことができるのは非論理的です (最後に追加された行の後に新しい行が表示されます)。したがって、ユーザーが新しい行を追加すると、すべてのやり直しが削除されます。

RedoBatches を使用してすべてのやり直しの列挙を取得し、それぞれに対して Clear を実行してそれらを削除しようとしましたが、[やり直し] ボタンはまだアクティブであり、押すとこれらのアクションをやり直します。

これはこれを達成しようとする適切な方法ですか、それとも不可能ですか、それとも別の方法で行う必要がありますか?

4

1 に答える 1

0

オブジェクトを使用して項目を追加する場合、UnregisterObjectを使用して登録を解除できます。空のバッチも自動的に削除されます。

もう 1 つのハックは、元に戻す/やり直しのバッチ プロパティを List<> にキャストし、それに応じて変更することです (ただし、その場合、内部を「いじっている」ことに注意してください)。

于 2014-09-09T10:26:12.397 に答える