WPF C#撤消重做
我必须在WPF中为数字编辑器(如textbox)执行UNDO-REDO实现。WPF C#撤消重做,c#,.net,wpf,C#,.net,Wpf,我必须在WPF中为数字编辑器(如textbox)执行UNDO-REDO实现。 我正在使用infragistics xamNumericEditor控件。我怎么开始?哪种方法最好。我在网上搜索过。发现有纪念品和命令模式。哪一个最好 > P>文章涵盖了实现撤销/重做模式的3种不同方式,包括使用MeMeNTO和命令模式。 您可能想考虑UI级别是否是实现撤销/重做的正确位置。这取决于您是跟踪数据的更重要更改,还是仅在UI中进行短期编辑。在后一种情况下,一旦移动到另一个控件,您通常不关心是否会丢失撤消状态
我正在使用infragistics xamNumericEditor控件。我怎么开始?哪种方法最好。我在网上搜索过。发现有纪念品和命令模式。哪一个最好 > P>文章涵盖了实现撤销/重做模式的3种不同方式,包括使用MeMeNTO和命令模式。
您可能想考虑UI级别是否是实现撤销/重做的正确位置。这取决于您是跟踪数据的更重要更改,还是仅在UI中进行短期编辑。在后一种情况下,一旦移动到另一个控件,您通常不关心是否会丢失撤消状态
如果您纯粹是在编辑上下文中查找本地撤消/重做(例如撤消剪切或删除操作),则可以使用和在标准文本框控件(可能还有Infragistics控件)上免费获得该操作。尝试将它们附加到菜单项或按钮上,并尝试它们的工作方式。您可能会发现受监视的撤消框架非常有用
它不使用“自上而下”的命令模式,而是在更改发生时监视更改,并允许您将一个委托放在撤消堆栈上,以反转更改。你可以在codeplex网站上找到更多信息和文档。如果你在.NET 4上,你可以使用一个tuple列表来创建某种更改历史记录。。。tuple,当然,您可以创建一个类或结构=P