2

VS2005 用の C# および DSL ツールを使用しています。

一部のデータを変更するためにトランザクションを作成する必要がありますが、それらをユーザーから隠したい、つまり、VS2005 の UNDO リストに表示されないようにしたいです。

UndoManager を無効にしてみました

store.UndoManager.UndoState = UndoState.Disabled;

ただし、それを無効にすると、元に戻すリスト内の既存の以前のアクションがすべてクリアされます。

トランザクションには「isHidden」というプロパティがありますが、読み取り専用です。非表示に設定する方法がわかりません。また、新しい UndoManager を作成しようとしましたが、これも読み取り専用のプロパティです...

元に戻すリストに表示されないトランザクションを作成するにはどうすればよいですか?

疑問点を明確にするために、さらに詳細を書きたいと思います。どうもありがとう、ルイス・フィリペ

[追加した]

プロパティ値に基づいてすべての図形の背景をペイントします。たとえば、true の場合は緑、false の場合は赤。形状の背景を描画するにはトランザクションを開く必要がありますが、私にとっては計算された (読み取り専用) プロパティとして動作します。

4

2 に答える 2

1

store.UndoManager.UndoState = UndoState.Disabled;

あなたが望むものにほぼ正しいです、

store.UndoManager.UndoState = UndoState.DisabledNoFlush;

これは元に戻るリストの残りをクリアしません:)昼食ルイスのcyas。

于 2009-01-05T11:52:22.857 に答える
0

申し訳ありませんが、あなたの質問に対する正確な答えはありませんが、本当にそれが必要ですか? モデル内の一部のデータを変更する必要がある場合、ほとんどの場合、モデル内の他の変更に対応する必要があります。その場合は、ルールを使用して調査し、コミット前に変更を引き起こすルールのコンテキスト内で既存のトランザクションを取得して、最初から新しいトランザクションを作成する必要がないようにすることをお勧めします。

于 2008-11-24T22:36:17.053 に答える