Actionscript 3 flex 4标题窗口+;自定义组件&x2B;皮肤问题!

Actionscript 3 flex 4标题窗口+;自定义组件&x2B;皮肤问题!,actionscript-3,flex4,custom-component,Actionscript 3,Flex4,Custom Component,我试着把我的组件放在一个窗口容器中,它可以通过在舞台上移动“x”来关闭,调整大小等等。我想知道哪种方法是最好的。我想使用一个皮肤类和组件类。不起作用的“解决方案”如下所示: <s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width=

我试着把我的组件放在一个窗口容器中,它可以通过在舞台上移动“x”来关闭,调整大小等等。我想知道哪种方法是最好的。我想使用一个皮肤类和组件类。不起作用的“解决方案”如下所示:

<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    width="500"
    height="150">
<fx:Metadata>
     [HostComponent("com.totty.app.components.login.Login")]
</fx:Metadata>
<!-- other things -->
</s:TitleWindow>
看看这个,如果你对如何实现它有更好的想法,欢迎你。(:

非常感谢

我在主应用程序中有:

// imports...
public function init():void {
    // runs on creationComplete event
PopUpManager.createPopUp(this, Login);
}
然后在我的登录类中扩展SkinnableContainer并设置为默认皮肤登录皮肤。 登录皮肤brgins如下所示:

<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    width="500"
    height="150">
<fx:Metadata>
     [HostComponent("com.totty.app.components.login.Login")]
</fx:Metadata>
<!-- other things -->
</s:TitleWindow>

我相信你会犯这样的错误,因为你试图使用TitleWindow,一个ui组件,作为皮肤


尝试让您的登录扩展TitleWindow和LoginSkin扩展spark.skins.spark.TitleWindowSkin(或者仅使用spark.components.supportClasses.Skin,具体取决于您计划自定义的内容量)。

我相信您会遇到这个错误,因为您试图将TitleWindow(一个ui组件)用作皮肤

尝试让您的登录扩展TitleWindow和LoginSkin扩展spark.skins.spark.TitleWindowSkin(或者仅扩展spark.components.supportClasses.Skin,具体取决于您计划自定义的内容)