在4.0中编译奇怪的“INAVigatorContent”错误

时间:2010-05-21 22:02:55

标签: flex4 upgrade halo

我最近决定尝试升级到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(默认)。

这看起来应该是一个非常直接的解决方案,所以我讨厌在我的轮子上旋转太长时间。

我可能缺少什么想法?

2 个答案:

答案 0 :(得分: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'。

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

答案 1 :(得分:1)

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

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