【问题标题】:RichEditableText - Mixed content is not allowed hereRichEditableText - 此处不允许混合内容
【发布时间】:2012-12-21 15:18:45
【问题描述】:

我正在开发一个最近从 Flex 3 升级到 Flex 4 的 Flex 应用程序。我想使用 spark RichEditableText 组件来显示一些嵌入了超链接的文本,但我遇到了问题。我在这里遵循示例:http://help.adobe.com/en_US/flex/using/WS02f7d8d4857b1677-165a04e1126951a2d98-7ff3.html

这是我的组件的简化版本,但仍有错误

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
           xmlns:skins="skins.*"
           xmlns:annotations="annotations.*" xmlns:s="library://ns.adobe.com/flex/spark">

    <s:VGroup top="5" left="5">
        <s:RichEditableText id="richTxt" 
                            editable="false" 
                            focusEnabled="false">
            <s:textFlow>
                <s:TextFlow>
                    <s:p>
                        The following link takes you to: <s:a href="http://www.adobe.com">Adobe.com</s:a>
                    </s:p>
                </s:TextFlow>
            </s:textFlow>
        </s:RichEditableText>
    </s:VGroup>
</mx:Canvas>

我的问题是,对于 TextFlow 元素内的每个标签,FlexBuilder 都会给我一个错误“此处不允许混合内容”。如果我删除 TextFlow 元素内的标签,只留下纯文本,事情似乎可以正常工作。谷歌没有提供任何关于我为什么会收到此错误的见解。我正在使用 Flex 4.6 SDK。知道为什么我会收到这个错误以及我能做些什么吗?

【问题讨论】:

    标签: xml flex4


    【解决方案1】:

    我回到这个问题并想出了答案。我使用了错误的 mx 命名空间。由于我正在处理的应用程序已升级到 Flex 4,因此大多数组件仍在使用旧的 2006 mx 命名空间。看来,为了使用 RichEditableText 组件,我需要切换到新的 mx 命名空间。所以,我删除了旧的 mx 命名空间并用这些替换它:

     xmlns:mx="library://ns.adobe.com/flex/mx"
     xmlns:fx="http://ns.adobe.com/mxml/2009"
    

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 2017-06-16
      • 2013-08-21
      • 2016-12-28
      • 2015-02-26
      • 2016-05-01
      • 2018-08-28
      • 1970-01-01
      相关资源
      最近更新 更多