Я использую следующий код для применения отступов к InlineGraphicElement, но кажется, что он применяет значение, а не удаляет его.
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);
Похоже, он игнорирует неопределенные значения. Теперь я не уверен, как сбросить заполнение до нуля.
ОБНОВЛЕНИЕ:
Я нашел метод clearFormat в классе диспетчера редактирования:
editManager = richEditableText.textFlow.interactionManager as IEditManager;
currentFormat = new TextLayoutFormat();
currentFormat.paddingLeft = 1;
currentFormat.paddingRight = 1;
editManager.clearFormat(currentFormat, null, null);
Хотя я не уверен, что это правильно. Но если это сработает, я добавлю это в качестве ответа.