我正在尝试在Flex4中构建一个可折叠的面板。我想我应该使用这样的s/thing:
<s:Panel
width="100%">
<s:controlBarContent>
<flexlib:WindowShade
width="100% />
</s:controlBarContent>
</s:Panel>但这会抛出一个错误:在非构造函数上尝试实例化。我抓取了flex4的flexlib压缩包,但我仍然收到这个错误。
是否有其他方法可以在控制栏中创建可折叠面板?
谢谢你的建议!
发布于 2011-09-28 17:23:33
您需要为WindowShade组件定义标题呈现器或标题类。看看他们的代码中出现异常的地方:
TypeError: Error #1007: Instantiation attempted on a non-constructor.
at flexlib.containers::WindowShade/createOrReplaceHeaderButton()[...\src\flexlib\containers\WindowShade.as:258]抛出异常的代码如下
if(_headerRenderer) {
_headerButton = _headerRenderer.newInstance() as Button;
}
else {
var headerClass:Class = getStyle("headerClass");
_headerButton = new headerClass();
}您需要定义headerClass或headerRenderer。出于测试目的,我使用
<s:Panel
width="100%">
<s:controlBarContent>
<containers:WindowShade headerClass="mx.controls.Button"
width="100%" />
</s:controlBarContent>
</s:Panel>它的效果就像一种护身符:)
祝你玩得开心,祝你好运。
https://stackoverflow.com/questions/7571746
复制相似问题