使用WindowShader时在VBox中显示背景的问题

时间:2009-11-20 22:48:51

标签: flex

我在我的网站上使用WindowShader。一切都很好。但是对于某些原因,我无法显示我的“home_feeds”VBox的任何背景。如果我在其上添加组件,我可以看到它们。但他们背景不起作用。即使我从画布中移除了所有东西(使用home_feeds),我仍然看不到任何背景。但如果我从我的mx:List中删除评论..我可以看到背景。

我的代码在下面给出

    <mx:VBox right="35" paddingRight="10" verticalAlign="top" horizontalAlign="right">
    <containers:WindowShade id="shade" opened="false" openIcon="{null}" closeIcon="{null}" paddingTop="0" 
        headerLocation="bottom" visible="true">         
        <containers:headerRenderer>
            <mx:Component>                  
                <flexlib:CanvasButton width="100%" height="20" skin="mx.skins.ProgrammaticSkin">                        
                    <mx:Script>
                    <![CDATA[
                        import flexlib.containers.WindowShade;
                    ]]>
                    </mx:Script>
                    <mx:Box width="100%" horizontalAlign="center">
                        <degrafa:Surface width="80">    
                            <degrafa:GeometryGroup>                          
                              <geometry:EllipticalArc closureType="pie" 
                                  arc="180" startAngle="-180" width="80" height="35" y="-18">                                     
                                <geometry:fill>
                                    <paint:GradientFill angle="90">
                                        <paint:GradientStop color="#920000" />
                                        <paint:GradientStop color="#D31F1F" />
                                    </paint:GradientFill>
                                   </geometry:fill>
                              </geometry:EllipticalArc>

                                <geometry:Polygon>
                                    <geometry:data>40,5 35,13 45,13</geometry:data>
                                    <geometry:stroke>
                                        <paint:SolidStroke color="#333333" alpha="{WindowShade(parent).opened ? 1 : 0}" weight="1" />
                                    </geometry:stroke>
                                    <geometry:fill>
                                        <paint:SolidFill color="#ffffff" alpha="{WindowShade(parent).opened ? 1 : 0}" />
                                    </geometry:fill>
                                </geometry:Polygon>

                                <geometry:Polygon>
                                    <geometry:data>40,13 35,5 45,5</geometry:data>
                                    <geometry:stroke>
                                        <paint:SolidStroke color="#333333" alpha="{WindowShade(parent).opened ? 0 : 1}" weight="1" />
                                    </geometry:stroke>
                                    <geometry:fill>
                                        <paint:SolidFill color="#ffffff" alpha="{WindowShade(parent).opened ? 0 : 1}" />
                                    </geometry:fill>
                                </geometry:Polygon>

                            </degrafa:GeometryGroup> 
                        </degrafa:Surface>
                    </mx:Box>
                </flexlib:CanvasButton>
            </mx:Component>
        </containers:headerRenderer>            
        <mx:Canvas horizontalScrollPolicy="off" width="200" height="350" >              
            <!--mx:List id="home_feeds" height="100%" width="100%" itemRenderer="file_manager.list_item_template" doubleClickEnabled="true" /-->
            <mx:VBox id="home_feeds"
                width="100%"
                backgroundAlpha="0.1"
                left="10"
                right="10">
            </mx:VBox>
        </mx:Canvas>            
        <containers:filters>
            <mx:DropShadowFilter alpha=".3" angle="90" />
        </containers:filters>
    </containers:WindowShade>    
</mx:VBox>

请让我知道我在这里做错了什么......我怎么能解决它。我想在那里使用VBox。

此致 Zeeshan

1 个答案:

答案 0 :(得分:1)

如果没有明确的宽度值,VBox的大小如果没有任何子节点则为零。添加一些子项(例如Label)以查看背景颜色。将背景alpha从0.1增加到0.5或者其他东西以便清楚地看到它。

如果您提及宽度和高度的显式值(而不是百分比),即使它没有任何子项,您也可以看到背景颜色。

backgroundColor="#00ff00" home_feeds设置VBox(绿色),以区分VBox的背景颜色与其父颜色。