Странная ошибка "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 и всем прочем.

Другие вопросы по тегам