2016-11-10 5 views
0

次のコードを使用してInlineGraphicElementにパディングを適用していますが、値を適用していて削除していないようです。TLFのFlowElementからスタイルを削除するにはどうすればよいですか?

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); 

未定義の値を無視するようです。今私はどのようにパディングをnoneにリセットするか分からない。

UPDATE:私はこれはしかし、右であるかわからない

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

editManager.clearFormat(currentFormat, null, null); 


私は編集マネージャークラスのclearFormatの方法を発見しました。しかし、それが動作するように見える場合、私は答えとしてそれを追加します。

答えて

0

私は編集マネージャークラスの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)を渡します。

+0

選択が段落を超えても、書式は削除されないようです。 –

関連する問題