Связывание mxml (как) - PullRequest
       31

Связывание mxml (как)

0 голосов
/ 30 августа 2010

У меня есть файл Actionscript с привязкой {someBinding} ...

Main.mxml - это место, где происходит все действие. Если я укажу {someBinding} в «тексте» компонента label, у меня будет число.

У меня есть другой файл form.mxml. Где я хочу, чтобы эта привязка была, но она не может найти такую ​​привязку.

Мне нужно иметь {someBinding} в этом другом mxml, так же как в Main.mxml

Спасибо, Ян

Ответы [ 2 ]

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

Вы не можете указывать значение в одном компоненте (или файле) для значения в другом компоненте (или файле).Вам нужно будет представить эти связанные значения в качестве свойств и установить значения.

Подход такого типа должен работать:

Сначала добавьте свойство в компонент 2 и сделайте его привязываемым.Сделайте это в блоке Script, например:

[Bindable] public var hBoxWidth : int;

Затем свяжите его с чем-то в вашем MXML того же компонента, например так:

<mx:HBox width="{this.hBoxWidth}" />

Теперь некоторые компоненты будут содержать этоone:

<mx:HBox>
  <myCustomComp:customHBox hBoxWidth={this.othervalue} />
</mx:Hbox>

Итак, когда другое значение изменяется, оно изменит значение hBoxWidth компонента customHBox, что, в свою очередь, изменит свойство width в HBox внутри customHBox.

Имеет ли это смысл?

0 голосов
/ 31 августа 2010

Вы можете создать привязку, но вам нужно использовать ActionScript, и вам нужна ссылка на файл form.mxml в файле main.mxml (или наоборот).

Это должно дать вам представление о том, какэто может сработать.Посмотрите на синтаксис для BindingUtils.метод bindProperty.Использование кода BindingUtils будет в main.mxml.

BindingUtils.bindProperty(otherForm.someOtherTextComponent, "text", this.someTextComponent, "text");
...