Использование изображения при создании пользовательских компонентов в flex - PullRequest
0 голосов
/ 25 августа 2010

Для моего приложения на основе AIR я пытаюсь создать пользовательский компонент на основе холста с изображением (как показано ниже).

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100" height="100" cornerRadius="5" borderStyle="solid" borderThickness="2" dropShadowEnabled="true" borderColor="#EDEDE8" dropShadowColor="#dddddd" shadowDistance="5" shadowDirection="center">
<mx:Script>
    <![CDATA[
        public var path:String = "";
    ]]>
</mx:Script>
<mx:Image id="tileImage" maintainAspectRatio="false" buttonMode="true" useHandCursor="true" source="{path}" width="100%" x="0" height="100%" y="0"/>
<mx:Canvas left="3" top="3" bottom="3" right="3" borderStyle="solid" cornerRadius="5" borderThickness="1" borderColor="#EDEDE8" alpha="0.75">
</mx:Canvas>

Я связываю источник изображения с публичной переменной path. И когда я пытаюсь поместить этот компонент в свой основной mxml-файл, как показано ниже, и указать «путь» к нему, я не вижу никакой загрузки изображения в пользовательском компоненте. Это остается пустым.

var component:MyCustComponent = new MyCustComponent();
component.path = 'path/to/image.jpg';
addChild(component);

В качестве обходного пути я пытаюсь добавить слушатель creationComplete к холсту в моем пользовательском компоненте, который используется для присвоения titleImage.source = this.path. Это заставило его работать правильно, но мне не помогает, если мне нужно постоянно менять изображение или когда путь к изображению выбирается с помощью какого-то асинхронного вызова. Итак, я хотел бы знать, есть ли альтернатива для решения этой проблемы. Спасибо !!

1 Ответ

1 голос
/ 25 августа 2010

Похоже, вы просто пропускаете привязываемый метатег для пути.для объявления вашего пути попробуйте:

[Bindable]
public var path:String;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...