2011-05-02 72 views
1

我有一個SkinnableContainer,我想添加邊框。我已經創建了一個皮膚類,它可以成功地在容器的所有四條邊上創建一個1像素的邊框,但是,我希望邊框僅用於容器的頂部和底部,而不是邊(左側和右側)。我怎樣才能做到這樣的事情?我附上了我目前的皮膚課。請幫忙!提前致謝。自定義SkinnableContainer蒙皮邊框

<?xml version="1.0" encoding="utf-8"?> 
<!-- containers\spark\mySkins\MyBorderSkin.mxml --> 
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    xmlns:s="library://ns.adobe.com/flex/spark" > 

<fx:Metadata> 
    [HostComponent("spark.components.SkinnableContainer")] 
</fx:Metadata> 

<!-- Define the skin states. --> 
<s:states> 
    <s:State name="normal" /> 
    <s:State name="disabled" /> 
</s:states> 

<!-- Define a Rect to fill the area of the skin. --> 
<s:Rect x="0" y="0" 
     height="100%" width="100%"> 
    <s:stroke> 
     <s:LinearGradientStroke weight="1"/> 
    </s:stroke>   
</s:Rect> 

<!-- Define the content area of the container. --> 
<s:Group id="contentGroup" 
     left="5" right="5" top="2" bottom="2"> 
    <s:layout> 
     <s:VerticalLayout/> 
    </s:layout> 
</s:Group>   
</s:Skin> 

回答

2

使用類似:

<s:Line left="0" top="0" right="0"> 
    <s:stroke> 
     <s:LinearGradientStroke weight="1"/> 
    </s:stroke> 
</s:Line> 

<s:Line left="0" bottom="0" right="0"> 
    <s:stroke> 
     <s:LinearGradientStroke weight="1"/> 
    </s:stroke> 
</s:Line> 

,而不是你的Rect聲明。

+0

甜!非常感謝! – toneb 2011-05-02 17:24:27