Я использую следующий код для применения дополнения к InlineGraphicElement, но он, кажется, только применяет значение и не удаляет его.Как удалить стили из FlowElement в TLF?
imageFloat = inlineGraphicElement.float;
newFormat = new TextLayoutFormat();
if (imageFloat==Float.LEFT || imageFloat==Float.START) {
newFormat.paddingRight = 5;
inlineGraphicElement.paddingRight = 5;
}
else if (imageFloat==Float.RIGHT || imageFloat==Float.END) {
newFormat.paddingLeft = 5;
inlineGraphicElement.paddingLeft = 5;
}
else {
newFormat.paddingLeft = undefined;
newFormat.paddingRight = undefined;
}
absoluteStart = inlineGraphicElement.getAbsoluteStart();
textContainerManager = richEditableText.mx_internal::textContainerManager as RichEditableTextContainerManager;
textContainerManager.applyFormatOperation(newFormat, null, null, absoluteStart, absoluteStart+1);
Похоже, что он игнорирует неопределенные значения. Теперь я не уверен, как сбросить заполнение до нуля.
UPDATE:
Я нашел метод clearFormat в классе редактирования менеджер:
editManager = richEditableText.textFlow.interactionManager as IEditManager;
currentFormat = new TextLayoutFormat();
currentFormat.paddingLeft = 1;
currentFormat.paddingRight = 1;
editManager.clearFormat(currentFormat, null, null);
я не уверен, что это правильно, хотя. Но если это сработает, я добавлю это как ответ.
Кажется, что если выбор продолжается над абзацами, он не удаляет форматирование. –