繁体   English   中英

WPF C#撤消重做

[英]WPF C# undo redo

我必须在WPF中为文本编辑器之类的NumericEditor执行UNDO REDO实现。 我正在使用基础设施xamNumericEditor控件。 我该如何开始? 最好遵循哪种方法。 我搜索了网。 发现存在备忘录和命令模式。 哪一个最好?

文章介绍3种不同的方式来实现撤销/重做模式,包括使用备忘录和命令模式。

您可能要考虑UI级别是否是实现撤消/重做的正确位置。 这取决于您是跟踪数据的更重要变化还是仅在UI中进行短期编辑。 在后一种情况下,一旦移至另一个控件,您通常不会在乎是否会丢失“撤消”状态。

如果您纯粹是在编辑(例如撤消剪切或删除操作)的上下文中寻找本地撤消/重做,则可以使用ApplicationCommands在标准文本框控件(可能还有Infragistics控件)上免费获得此功能。撤消ApplicationCommands.Redo 尝试将它们附加到MenuItem或Button上,并尝试它们的工作方式。

您可能会发现“监视撤消框架”很有用。 http://muf.codeplex.com/

它不使用“自上而下”的命令模式,而是监视更改的发生情况,并允许您将委托放置在撤消堆栈上,以撤消更改。 您可以在codeplex网站上找到更多信息和文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM