Domanda

Sto usando C # e DSL Tools per VS2005.

Devo creare Transazioni per modificare alcuni dati, ma voglio che siano nascosti all'utente, ciò significa che non verranno visualizzati nell'elenco UNDO in VS2005.

Ho provato disabilitando UndoManager

store.UndoManager.UndoState = UndoState.Disabled;

Ma disabilitandolo vengono cancellate tutte le azioni precedenti esistenti nell'elenco degli annullamenti.

Le transazioni hanno una proprietà chiamata " isHidden " ma è di sola lettura non so come posso impostare il nascosto. Ho anche provato a creare un nuovo UndoManager ma è anche una proprietà di sola lettura ...

Come posso creare una transazione che non appare nella lista degli annullamenti?

Sarei felice di scrivere qualche dettaglio in più per chiarire ogni dubbio, Grazie mille, Lu & # 237; s Filipe

[aggiunto]

dipingo lo sfondo di ogni forma in base al valore di una proprietà. Ad esempio, verde se vero, rosso se falso. Devo aprire una transazione per dipingere lo sfondo della forma ma per me si comporta come una proprietà calcolata (sola lettura).

È stato utile?

Soluzione

store.UndoManager.UndoState = UndoState.Disabled ;

è quasi giusto per quello che vuoi,

store.UndoManager.UndoState = UndoState.DisabledNoFlush;

questo non cancellerà il resto della lista di annullamento :) ciao a pranzo Luis.

Altri suggerimenti

Temo di non avere una risposta esatta alla tua domanda ma ... sei sicuro di averne davvero bisogno? Il più delle volte quando è necessario modificare alcuni dati nel modello è reagire ad altre modifiche nel modello. In tal caso, potresti voler investigare utilizzando le regole per ottenere una transazione esistente nel contesto della regola che causa le modifiche prima che venga impegnata, in modo da non dover creare una nuova transazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top