2011-08-13 3 views
0

Вопрос: Я пробовал очень простой код ниже на основе фрагмента кода кода, где я создаю ярлык под названием «заголовок» с помощью MXML, но используйте ActionScript для установки headline.text = «ABC».в Flash Builder 4.5, есть ли какая-либо фиксированная причина, почему дизайн-представление неправильно отображает простую метку?

Когда я пользуюсь браузером, я вижу желаемый результат ActionScript - на странице отображается текст «ABC». Но когда я использую представление Design, он просто показывает пустой/белый квадрат в этом месте.

Я хочу опубликовать снимок экрана, но это мой первый день на этом сайте, и у меня нет нужной 10 репутации.

Соответствующий фрагмент кода:

<fx:Script> 
    <![CDATA[ 
     import mx.events.FlexEvent; 

     protected function application1_creationCompleteHandler(event:FlexEvent):void 
     { 
      headline.text="ABC"; 
     } 
    ]]> 
    </fx:Script> 
    <s:Label id="headline" fontSize="36" x="10" y="10" color="#FFFFFF" /> 

Ответ:

Поскольку creationCompleteHandler это событие, которое устанавливается будет завершено только после реального исполнения/загрузки приложения, код внутри этой функции (где приложение будет ДЕЙСТВИТЕЛЬНО выполнено), а не в представлении «Дизайн» (где он будет выполняться псевдо)

+0

Проблема решена; Я включил решение в вопрос выше. (Любой модератор/участник: это правильный метод, чтобы опубликовать ответ на свой вопрос?) –

ответ

0

Почему бы не установить текстовый каталог ectly на этикетке:

<s:Label id="headline" fontSize="36" x="10" y="10" color="#FFFFFF" text="ABC" /> 

Или использовать связывание:

<fx:Script> 
    <![CDATA[ 
     [Bindable] public var headlineText:String = "ABC"; 
    ]]> 
</fx:Script> 

<s:Label text="{headlineText}" id="headline" fontSize="36" x="10" y="10" color="#FFFFFF" /> 
+0

update @lukevanin: Я решил оригинальную проблему. Что касается метода привязки: я бы хотел использовать его больше ... Но пока он работал правильно в браузере, с другой стороны, в представлении Design for FlashBuilder он показывает «{...}» вместо «ABC». Какие-либо предложения? –

+0

Причина этого в том, что код в тегах скрипта не выполняется во время разработки. Сначала необходимо скомпилировать код, поэтому он работает только во время выполнения. Поэтому, чтобы увидеть, где будет размещаться переменная, замена может произойти только после компиляции и выполнения кода. Это ограничение архитектуры ActionScript 3, основанной на виртуальной машине, которая не позволяет интерпретировать ее во время разработки. –

+0

понимается; Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^