设置声明为UIComponent的NumericStepper的属性

时间:2010-03-09 00:24:20

标签: flex actionscript-3 user-interface

我有一个声明为UIComponent的NumericStepper:

<![CDATA[
private var component:UIComponent;
component = new NumericStepper();
]]>

我需要更改NumericStepper的.maximum值,但是由于UIComponent没有.maximum属性,以下代码失败并显示错误: 1119:通过带静态类型的引用访问可能未定义的属性最大值mx.core:UIComponent

component.maximum = 11;

我的问题是如何在这种情况下定义属性?

2 个答案:

答案 0 :(得分:1)

您可以使用的另一种解决方案是“施放”:

var component:UIComponent;
component = new NumericStepper;
(component as NumericStepper).maximum = 500;

这有编译时检查,但我不知道它是否有任何“缺点” 希望这会有所帮助。

答案 1 :(得分:0)

您可以使用动态/字符串语法定义它:

component["maximum"] = 11;

我经常使用它,唯一的缺点是:

  • 性能下降(3-5x),但考虑到设置属性最多只需0.001ms,这无关紧要。
  • 没有编译时检查,因此Flex Builder在运行时
  • 之前不会抛出任何错误