我正在为VS2005使用C#和DSL工具。
我需要创建事务来更改某些数据,但我希望它们对用户隐藏,这意味着,不要在VS2005的UNDO列表中显示。
我尝试通过禁用UndoManager
store.UndoManager.UndoState = UndoState.Disabled;
但是通过禁用它,清除撤消列表中所有现有的先前操作。
交易有一个名为“isHidden”的属性,但它只是我不知道如何设置隐藏。 我也尝试创建一个新的UndoManager,但它也是一个只读属性......
如何创建未显示在撤消列表中的交易?
我很乐意写下更多细节,以澄清任何疑问, 非常感谢你, 路易斯菲利普
[加入]
我根据属性值绘制每个形状的背景。例如,如果为真则为绿色,如果为假则为红色。我需要打开一个事务来绘制形状的背景,但对我来说它表现为计算(只读)属性。
答案 0 :(得分:1)
store.UndoManager.UndoState = UndoState.Disabled
;
几乎是你想要的,
store.UndoManager.UndoState = UndoState.DisabledNoFlush;
这将不会清除其余的撤消列表:)在Luis午餐时的cyas。
答案 1 :(得分:0)
我担心我对你的问题没有确切的答案,但是......你确定你真的需要吗?大多数情况下,当您需要更改模型中的某些数据时,是对模型中的其他更改做出反应。如果是这种情况,您可能需要调查使用规则来获取规则上下文中的现有事务,该事务在提交之前导致更改,因此您不需要首先创建新事务。 / p>