2

我最近决定尝试升级到 4.0。我仍然无法解决的唯一错误是这个:

“Halo 导航器的子级必须实现 INavigatorContent”

我似乎在所有具有验证器的 ViewStack 上都得到了它。

<mx:ViewStack xmlns:mx="http://www.adobe.com/2006/mxml">
 <mx:NumberValidator id="systolicValidator"
      source="{systolic}"
      required="true"
         property="text"
      minValue="10"
      maxValue="300"
      domain="int"/>
 <mx:NumberValidator id="diastolicValidator"
      source="{diastolic}"
      required="true"
      property="text"
      minValue="10"
      maxValue="200"
      domain="int"/>
 <mx:TextInput id="systolic"/>
 <mx:TextInput id="diastolic"/>
    ...
</ViewStack> 

验证器标签上会引发错误。我的编译器设置为“flex 3 兼容模式”,我的主题设置为 Halo(默认)。

这似乎应该是一个非常直接的解决方案,所以我讨厌在它上面旋转太久。

有什么想法我可能会错过吗?

4

2 回答 2

2

在阅读了一些关于 Flex 4 的文章后,似乎所有非视觉元素都应该放在这些标签中:

<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

(xmlns:fx="http://ns.adobe.com/mxml/2009")

这个错误有点奇怪。但是,经过一些清理后,我得到了一个更好的错误:

'*' 声明必须包含在<Declarations>标记中,因为它没有实现 'mx.core.IUIComponent'。

更有帮助。如果我找到我之前遇到的奇怪错误的原因,我会再次发布。

于 2010-05-28T00:17:29.790 回答
1

http://bharatria.wordpress.com/2010/05/09/migration-from-flex-3-to-flex-4/

这是我在将我的应用程序从 flex 3 更新到 4 时发现的一个很好的链接。这可能有点让人头疼,我建议阅读 Spark 和 Halo 以及所有这些内容。

于 2010-05-28T18:18:56.247 回答