【问题标题】:Binding mxml (as)绑定 mxml (as)
【发布时间】:2010-08-30 16:57:28
【问题描述】:

我有一个带有绑定 {someBinding} 的 actionscript 文件...

Main.mxml 是所有操作发生的地方。如果我在标签组件的“文本”中设置 {someBinding},我将得到一个数字。

我有另一个 form.mxml 文件。我希望该绑定在哪里,但找不到这样的绑定。

我需要在另一个 mxml 中包含那个 {someBinding},就像在 Main.mxml 中一样

谢谢,严

【问题讨论】:

  • 我已经合并了两个文件,现在可以了...但是如果您想回答,请继续:D

标签: apache-flex actionscript-3 data-binding mxml


【解决方案1】:

您不能以您似乎要求的方式将一个组件(或文件)中的值转换为另一个组件(或文件)中的值。您必须将这些相关值公开为属性并设置值。

这种方法应该可行:

首先向组件 2 添加一个属性并使其可绑定。在脚本块中执行此操作,如下所示:

[Bindable] public var hBoxWidth : int;

然后将它绑定到您的 MXML 中相同组件的某些内容,如下所示:

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

现在一些组件将包含这个:

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

所以,当 othervalue 改变时,它会改变 customHBox 组件上的 hBoxWidth 值,进而改变 customHBox 内部 HBox 的 width 属性。

这有意义吗?

【讨论】:

    【解决方案2】:

    您可以创建绑定,但必须使用 ActionScript,并且需要在 main.mxml 中引用 form.mxml 文件(反之亦然)。

    这应该让您对它的工作方式有一个理想的了解。查看 BindingUtils 的语法。绑定属性方法。 BindingUtils 代码的使用将在 main.mxml 中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多