UWP/WinRT:如何在文本框上启用撤销钩子

UWP/WinRT: How to enable undo hooks on a TextBox?

本文关键字:启用 文本 WinRT UWP      更新时间:2023-10-16

TextBox类已经支持撤销,因为它在上下文菜单中存在并起作用。

我想实现撤销/重做按钮,发现在每个常见的文档编辑器,如微软Word。当它们没有动作可做时,它们将被禁用,当有一个撤消/重做堆栈要移动时,按下按钮将导致文本框的内容撤消和重做。

查看TextBox API,似乎没有任何提及如何挂钩到撤消数据。唯一的讨论是提到撤销在上下文菜单中出现。

撤销/重做钩子是如何实现在一个文本框?

如果有区别的话,我目前正在用c++/CX编码。

您绝对可以通过TextChanged事件手动记录历史。Undo命令用来显示之前的输入。钩子到控件似乎是不可能的。

处理TextBox中的ContextMenuOpening事件,您可以通过自己的命令修改弹出窗口,例如您自己的撤消/重做历史记录。

一个很好的示例:https://code.msdn.microsoft.com/windowsapps/Context-menu-sample-40840351也可以很好地使用UWP。