我最近决定尝试升级到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(默认)。
这看起来应该是一个非常直接的解决方案,所以我讨厌在我的轮子上旋转太长时间。
我可能缺少什么想法?
答案 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以及所有这些内容。