mxml中的static / private子组件?

时间:2009-10-14 03:08:38

标签: flex static mxml private

有没有办法在mxml中声明一个私有/受保护甚至是静态的子组件?

当然我们可以在脚本标签内执行此操作,但还有其他方法吗?

3 个答案:

答案 0 :(得分:2)

Ashier建议使用“Exclude”元数据标签,但Maskit提供其局限性并建议替代解决方案:

http://blog.ashier.com/2008/03/25/hiding-properties-in-flex-components/
http://smaskit.blogspot.com/2008/07/making-mxml-subcomponent-private.html

答案 1 :(得分:0)

在这些术语的严格意义上,不能使用mxml来做到这一点。 Luis发布的第二个链接包含一些私有/受保护行为的解决方法。

答案 2 :(得分:0)

我找到了静态问题的解决方案。我想要一个可以在移动应用程序的任何地方访问的快速便笺簿,而不需要在不同的屏幕上打开一个实例覆盖编辑。

我创建了一个memo pad mxml控件,然后将它放在顶级应用程序mxml的声明部分中。在我希望备忘录出现的每个视图中,我添加了:

import mx.core.FlexGlobals;
import components.QuickMemo;

private var memo:QuickMemo;

在视图创建完成中:

memo = FlexGlobals.topLevelApplication.memo;

在viewActivation代码中,我添加了:

memo.visible = false;
addElement(memo);

在viewDeactivation代码中,我包括:

removeElement(memo);

实际效果是,任何时候只有一个备忘录实例存在,并且一个实例以它出现的最后一个视图中存在的任何状态打开。