Как удалить стили из FlowElement в TLF?

Я использую следующий код для применения отступов к 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);

Хотя я не уверен, что это правильно. Но если это сработает, я добавлю это в качестве ответа.


person 1.21 gigawatts    schedule 10.11.2016    source источник


Ответы (1)


Я нашел метод clearFormat в классе менеджера редактирования:

editManager = richEditableText.textFlow.interactionManager as IEditManager;
currentFormat = new TextLayoutFormat();
currentFormat.paddingLeft = 1;
currentFormat.paddingRight = 1;

editManager.clearFormat(currentFormat, null, null);

Вы должны дать значение свойствам, которые не должны быть определены. Все значения в новом объекте TextLayoutFormat не определены. Итак, чтобы удалить любые стили в FlowElement, установите для стиля значение, отличное от undefined, а затем вызовите clearFormat(myTextLayoutFormat), передав объект со свойствами, которые вы хотите удалить.

person 1.21 gigawatts    schedule 25.11.2016
comment
Кажется, что если выделение распространяется на абзацы, форматирование не удаляется. - person 1.21 gigawatts; 04.02.2018