Pergunta

Eu estou usando C # e DSL Tools para VS2005.

Eu preciso criar transações para alterar alguns dados, mas eu quero que eles sejam escondidos do usuário, o que significa, para não mostrar na lista UNDO no VS2005.

Eu tentei desativando a UndoManager

store.UndoManager.UndoState = UndoState.Disabled;

Mas por desativá-lo todas as ações anteriores existentes na lista de desfazer são apagadas.

As transações têm uma propriedade chamada "isHidden" mas é somente leitura, eu não sei como eu posso definir o que escondido. Eu também tentou criar uma nova UndoManager mas também é uma propriedade somente leitura ...

Como posso criar uma transação que não aparece na lista de desfazer?

Eu ficaria feliz em escrever mais alguns detalhes, a fim de esclarecer quaisquer dúvidas, Muito obrigado, Luís Filipe

[nosso]

i pintar fundo de cada forma com base em um valor de propriedade. Por exemplo, verde se for verdade, vermelho se falsa. Eu preciso abrir uma transação para pintar fundo da forma, mas para mim ele se comporta como um (somente leitura) propriedade calculada.

Foi útil?

Solução

store.UndoManager.UndoState = UndoState.Disabled;

é quase certo para o que vc quiser,

store.UndoManager.UndoState = UndoState.DisabledNoFlush;

isso não vai limpar o resto da lista desfazer :) cyas no almoço Luis.

Outras dicas

Eu tenho medo Eu não tenho uma resposta exata para sua pergunta, mas ... Tem certeza que você realmente precisa disso? Na maioria das vezes quando você precisa alterar alguns dados no modelo é reagir a outras mudanças no modelo. Se for esse o caso, você pode querer investigar usando as regras para obter uma transação existente no contexto da regra que faz com que as alterações antes de ser comprometida para que você não tem a necessidade de criar uma nova transação no primeiro lugar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top