![]() |
1
17
如果你有一个自定义组件,你可能会把它放在一个命名空间中,而不是 mx 。删除命名空间是正确的做法,但您不必这样做。考虑以下示例
在该代码中,com.example包中有一个名为MyComponent的自定义组件。现在,我们如何添加自定义状态?这很容易!
组件的属性,如 状态 , 过渡 ,甚至 标签 按钮上的元素可以创建为子元素。这些属性必须使用与组件实例相同的命名空间。财产在继承链中的来源并不重要。即使是com.example。MyComponent扩展了mx.containers。Canvas,states属性将使用定义MyComponent的XML命名空间。 总之,不要想 状态 财产作为 mx:状态 因为 mx: 属性的前缀仅从组件继承。然而,我们确实必须使用 mx: 当我们定义实际状态本身时,因为这是一个类(而不是属性),并且该类是在mx名称空间中定义的。 要进一步解释,您可以更改 http://www.adobe.com/2006/mxml 命名空间不是 mx .
在这个例子中,我们改变 mx 向 呼噜 现在 状态 属性必须前缀为 zzz: 而不是 mx: . |
![]() |
2
1
为什么会失败?我还发现,当我定义了多个名称空间时,这会失败。删除
|