我使用以下代码将填充应用于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);
我不确定这是否正确,但如果它看起来有效,我会把它作为一个答案。
1条答案
按热度按时间huwehgph1#
我在编辑管理器类中找到了clearFormat方法:
您必须为想要取消定义的属性给予。新TextLayoutFormat对象中的所有值都是未定义的。因此,要删除FlowElement上的任何样式,请将该样式设置为
undefined
以外的值,然后调用clearFormat(myTextLayoutFormat)
,传入具有要删除的属性的对象。