我必须在WPF中为文本框之类的NumericEditors执行UNDO REDO实现。 我正在使用infragistics xamNumericEditor控件。我怎么开始?哪种方法最好遵循。我搜索过网。发现纪念品和命令模式在那里。哪一个最好?
答案 0 :(得分:0)
This文章介绍了实现撤消/重做模式的3种不同方法,包括使用Memento和命令模式。
答案 1 :(得分:0)
您可能需要考虑UI级别是否是实施撤消/重做的正确位置。这取决于您是在跟踪数据的更重要更改还是仅在UI中进行短期编辑。在后一种情况下,一旦你转移到另一个控件,你通常不在乎你是否会失去撤销状态。
如果您在编辑环境中纯粹寻找本地撤销/重做(例如撤消剪切或删除操作),那么您可以在标准文本框控件(以及可能的Infragistics控件)上免费获取此内容使用ApplicationCommands.Undo和ApplicationCommands.Redo。尝试将它们附加到MenuItem或Button,并试验它们的工作原理。
答案 2 :(得分:0)
您可能会发现Monitored Undo Framework非常有用。 http://muf.codeplex.com/
它不使用“自上而下”命令模式,而是在发生更改时监视更改,并允许您将委托放在撤消堆栈上以反转更改。您可以在codeplex网站上找到更多信息和文档。