Frage

Ich bin mit C # und DSL-Tool für VS2005.

Ich brauche Transaktionen zu erstellen, einige Daten zu ändern, aber ich mag, dass sie vor dem Benutzer verborgen werden, das heißt, nicht in VS2005 in der UNDO-Liste zeigen.

Ich habe versucht, durch die UndoManager deaktivieren

store.UndoManager.UndoState = UndoState.Disabled;

Aber es werden alle vorhandenen vorherigen Aktionen in der Undo-Liste deaktivieren werden gelöscht.

Transaktionen haben eine Eigenschaft namens „isHidden“ aber es ist nur lesbar ich weiß nicht, wie ich die versteckten einstellen. Ich habe auch versuchte einen neuen UndoManager zu schaffen, sondern es ist auch eine Nur-Lese-Eigenschaft ...

Wie kann ich eine Transaktion erstellen, die nicht in der Undo-Liste angezeigt wird?

Ich würde mich freuen, einige weitere Details zu klären, um jeden Zweifel zu schreiben, Vielen Dank, Luís Filipe

[hinzugefügt]

i malen Hintergrund jede Form der basierend auf einem Eigenschaftswert. Z. B, grün wenn sie wahr ist, rot, wenn falsch. Ich brauche eine Transaktion zu öffnen, um den Hintergrund der Form zu malen, aber für mich ist es verhält sich wie ein berechnet (read-only) Eigenschaft.

War es hilfreich?

Lösung

store.UndoManager.UndoState = UndoState.Disabled;

ist fast richtig für das, was u wollen,

store.UndoManager.UndoState = UndoState.DisabledNoFlush;

Dies wird den Rest der Undo-Liste nicht löschen :) Cyas beim Mittagessen Luis.

Andere Tipps

Ich fürchte, ich keine genaue Antwort auf Ihre Frage, aber ... sind Sie sicher, dass Sie wirklich, dass benötigen? Die meisten der Zeit, wenn Sie müssen einige Daten in dem Modell ändern sind, um andere Änderungen im Modell zu reagieren. Wenn das der Fall ist, können Sie mithilfe von Regeln zu untersuchen, eine vorhandene Transaktion im Rahmen der Regel erhalten, die die Veränderungen verursacht, bevor er begangen hat, so dass Sie nicht das Bedürfnis haben, eine neue Transaktion in erster Linie zu erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top