WPF C # отменить повтор - PullRequest
0 голосов
/ 21 июля 2010

Я должен сделать UNDO REDO реализацию в WPF для NumericEditors, таких как текстовое поле. Я использую Infragistics XamNumericEditor управления. Как я могу начать? Какой метод лучше всего использовать? Я искал в сети. Обнаружил, что память и командные паттерны есть. Какой из них лучше?

Ответы [ 3 ]

0 голосов
/ 21 июля 2010

Возможно, вы захотите подумать, является ли уровень пользовательского интерфейса подходящим местом для реализации Undo / Redo.Это зависит от того, отслеживаете ли вы более значительные изменения в ваших данных или просто кратковременное редактирование в пользовательском интерфейсе.В последнем случае вам часто все равно, потеряете ли вы состояние отмены после перехода к другому элементу управления.

Если вы просто ищете локальные отмены / повторения в контексте редактирования (например, отмены отмены)Операция вырезания или удаления), затем вы можете получить ее бесплатно в стандартном текстовом поле (и, возможно, в элементе управления Infragistics), используя ApplicationCommands.Undo и ApplicationCommands.Redo .Попробуйте прикрепить их к элементу MenuItem или кнопке и поэкспериментируйте с тем, как они работают.

0 голосов
/ 21 июня 2011

Может оказаться полезной среда Monitored Undo Framework.http://muf.codeplex.com/

Он не использует шаблон команды «сверху вниз», а вместо этого отслеживает изменения по мере их возникновения и позволяет поместить делегата в стек отмены, который отменит изменение.Вы можете найти больше информации и документации на сайте codeplex.

0 голосов
/ 21 июля 2010

В этой статье рассматриваются 3 различных способа реализации паттерна отмены / повтора, включая использование шаблонов Memento и Command.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...