Question

J'utilise les outils C # et DSL pour VS2005.

Je dois créer des transactions pour modifier certaines données mais je veux qu'elles soient masquées de l'utilisateur, cela signifie qu'elles ne s'affichent pas dans la liste UNDO de VS2005.

J'ai essayé en désactivant le gestionnaire UndoManager

store.UndoManager.UndoState = UndoState.Disabled;

Mais en la désactivant, toutes les actions précédentes de la liste d'annulation sont effacées.

Les transactions ont une propriété appelée "isHidden". mais c'est en lecture seule que je ne sais pas comment je peux définir le à masqué. J'ai également essayé de créer un nouveau UndoManager, mais c'est aussi une propriété en lecture seule ...

Comment puis-je créer une transaction qui ne figure pas dans la liste d'annulation?

Je serais ravi d'écrire quelques détails supplémentaires afin de dissiper tout doute, Merci beaucoup, Lu Filipe

[ajouté]

Je peins l'arrière-plan de chaque forme en fonction d'une valeur de propriété. Eg, vert si vrai, rouge si faux. Je dois ouvrir une transaction pour peindre l'arrière-plan de la forme, mais pour moi, elle se comporte comme une propriété calculée (en lecture seule).

Était-ce utile?

La solution

store.UndoManager.UndoState = UndoState.Disabled ;

est presque juste pour ce que tu veux,

store.UndoManager.UndoState = UndoState.DisabledNoFlush;

cela n’effacera pas le reste de la liste des annulations :) cyas au déjeuner, Luis.

Autres conseils

Je crains de ne pas avoir de réponse précise à votre question mais ... êtes-vous sûr que vous en avez vraiment besoin? La plupart du temps, lorsque vous devez modifier certaines données du modèle, vous devez réagir à d'autres modifications du modèle. Si tel est le cas, vous pouvez envisager d'utiliser des règles pour obtenir une transaction existante dans le contexte de la règle qui provoque les modifications avant sa validation, de sorte que vous n'ayez pas besoin de créer une nouvelle transaction à la première place.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top