使用fx/mx:使用Flex 4
我正在做一个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.
)。
我哪里错了?
没有<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 <b>bold</b>"/>
</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组件不使用)。
就是这样;我没有将MX包含在构建中。谢谢! – BlairHippo 2013-02-25 19:09:29