Операция перетаскивания Сбрасывает стек отмены для текстового поля - PullRequest
1 голос
/ 20 июня 2011

У меня есть проблема с уничтожением стека отмены при выполнении операции удаления в TextBox.

Reflector не дал никакой информации о том, как TextBox обрабатывает стек отмены в этом состоянии.

Я также не вижу никакого способа контролировать этот стек отмены, так как он полностью внутренний.Я видел, как люди MS говорили то же самое на форумах MSDN.

У кого-нибудь есть идеи о том, как предотвратить действие перетаскивания в текстовом поле, чтобы уничтожить его стек истории отмен?

1 Ответ

0 голосов
/ 09 июля 2011

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

Мне довелось поддерживать одну из этих структур отмены в Codeplex.« Monitored Undo Framework» отслеживает изменения данных, сохраняет измененные значения и предоставляет простые методы для отмены / восстановления этих изменений.

Я рассмотрел реализацию TextBoxв отражателе тоже.Код не является тривиальным и, по-видимому, пересекает довольно большую кодовую базу для обработки текста.Насколько я знаю, единственная ручка, доступная для настройки отмены текстового поля, - это включение / выключение отмены.Кроме того, кажется, черный ящик.

...