2013-02-25 68 views
0

我正在做一個Flex 4中的文本較大的演示應用程序。我非常想使用舊的mx:Label對象,這樣我就可以訪問htmlText並保存我自己的一些麻煩的格式文本。使用fx/mx:使用Flex 4

不幸的是,我無法弄清楚如何使用它。別處的研究告訴我只使用<fx:Label>,但是生成Could not resolve <fx:Label> to a component implementation.插入mx命名空間(xmlns:mx="library://ns.adobe.com/flex/mx")導致基本上相同的事情(Could not resolve <mx:Label> to a component implementation.)。

我哪裏錯了?

回答

1

沒有<fx:Label />組件,但是Spark的(Flex 4)版本是<s:Label />

如您所知,Spark版本沒有htmlText屬性。但是沒有理由不能在你的項目中使用<mx:Label />。這裏,不只是一個示例應用程序:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*"> 

     <mx:Label htmlText="this is &lt;b&gt;bold&lt;/b&gt;"/> 

</s:Application> 

注意,在項目的屬性,在「Flex構建路徑」部分下,您需要同時啓用Spark和MX組件集。也許你的項目設置只包含Spark組件集。

[編輯]

另一種選擇是使用Spark <s:RichText />組件。這也沒有htmlText屬性。但是,您可以設置此組件使用的TextFlow屬性,並通過執行TextConverter.importToFlow(sourceHtml, TextConverter.TEXT_FIELD_HTML_FORMAT)將HTML導入TextFlow。這顯然比僅僅使用mx組件的htmlText屬性更多的工作,但是這會給你看上TLF文本(mx組件不使用)。

+0

就是這樣;我沒有將MX包含在構建中。謝謝! – BlairHippo 2013-02-25 19:09:29