Класс TextBox уже поддерживает отмену, поскольку он присутствует и работает в контекстном меню.
Я хотел бы реализовать кнопки отмены / повтора, которые можно найти в любом обычном редакторе документов, например, в Microsoft Word. Они будут отключены, если у них нет действий, которые нужно предпринять, и когда есть стек отмены / повтора для перемещения, нажатие кнопок приведет к отмене и повторению содержимого TextBox.
Глядя на TextBox API, кажется, нет никакого упоминания о том, как подключиться к данным отмены. Единственное обсуждение — упоминание, что отмена присутствует в контекстном меню.
Как хуки отмены / возврата реализованы в TextBox?
Если это имеет значение, я сейчас пишу на C ++ / CX.
Вы определенно можете записать историю вручную по событию TextChanged. Команда отмены используется для отображения ранее введенных данных. Зацепить управление кажется невозможным.
Обработайте событие ContextMenuOpening из TextBox, и вы можете изменить всплывающее окно своими собственными командами, например, своей собственной историей отмен / повторов.
Хороший образец: https://code.msdn.microsoft.com/windowsapps/Context-menu-sample-40840351 также отлично работает с UWP.