Странная ошибка "INavigatorContent" в 4.0
Я недавно решил попробовать обновление до 4.0. Единственная ошибка, которую я до сих пор не могу решить, это эта:
"Дети навигаторов Halo должны реализовывать INavigatorContent"
Я, кажется, получаю его на всех моих ViewStacks, которые имеют валидаторы.
<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 ответа
После прочтения 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".
Многое, намного полезнее. Я отправлю еще раз, если найду причину странной ошибки, которую я получал раньше.
http://bharatria.wordpress.com/2010/05/09/migration-from-flex-3-to-flex-4/
Это отличная ссылка, которую я нашел, когда обновлял свое приложение с flex 3 до 4. Это может быть немного головной болью, и я рекомендую почитать о Spark, Halo и всем прочем.