Проблема с UndoreCord.StartCustomRecord в VSTO надстройке: отменить разрывы стека после пули/нумерацииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с UndoreCord.StartCustomRecord в VSTO надстройке: отменить разрывы стека после пули/нумерации

Сообщение Anonymous »

Я использую UndoreCord.StartCustomRecord в microsoft.office.interop.word для создания пользовательских записей Undo в моем надстройке VSTO. Тем не менее, я столкнулся с некоторым неожиданным поведением, которое делает слово undo stack непригодным. UndoreCord.StartCustomRecord и undoreCord.endCustomRecord .

проблема :
, когда я пытаюсь выполнить эти пользовательские действия после добавления пули или числа , моя пользовательская запись не появляется в Steck. Вместо этого: < /p>

Операция «Заменить все» разворачивается (рассматривается как отдельные шаги отмены, а не как одно пользовательское действие). < /Li>
Я больше не могу отменять действия, которые произошли до моего индивидуального выполнения. < /Li>
< /ul>
. /> фрагмент кода я использовал < /strong>: < /p>
Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;

var application = Globals.ThisAddIn.Application;
var document = application.ActiveDocument;

this.undoRecord = application.UndoRecord;

this.undoRecord.StartCustomRecord("MyRecord");
string replacementText = "";

Word.Find find = currentRange.Find;
find.ClearFormatting();
find.Replacement.ClearFormatting();
find.Text = "^p"; // Paragraph break
find.Replacement.Text = replacementText;
find.Forward = true;
find.Wrap = Word.WdFindWrap.wdFindStop;
find.Format = false;
find.MatchCase = false;
find.MatchWholeWord = false;
find.MatchWildcards = false;
find.Execute(Replace: Word.WdReplace.wdReplaceAll);

foreach (Word.Paragraph paragraph in document.Paragraphs)
{
paragraph.Range.set_Style(Microsoft.Office.Interop.Word.WdBuiltinStyle.wdStyleEmphasis);
}

this.undoRecord.EndCustomRecord();
< /code>
Я сделал образец проекта в Github, чтобы воссоздать эту проблему. Вы можете построить образец GitHub и попытаться воссоздать проблему. Ниже приведены шаги отдыха. < /P>

Добавьте несколько параграфов в документ < /li>
Добавить число или пулю из меню нумерации. Действия были предприняты в документе без пуль или нумерации, отменить стек будет невредимым и будет работать должным образом. Как правильно внедрить пользовательские записи отмены в этом сценарии?

Подробнее здесь: https://stackoverflow.com/questions/797 ... eaks-after
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»