2011-05-02 4 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

관련 문제