2009-10-14 29 views

回答

2

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

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

+0

第二个链接中建议的解决方法非常好( +1)。但仍然没有静态子组件:( – 2009-10-15 16:56:15

+0

接受此答案,因为它是唯一可以做到目前为止。希望Flex 5将支持mxml静态/私人:( – 2009-10-30 18:14:57

0

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

0

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

我创建了一个记事簿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); 

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