2
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark"     
           >
    <fx:Style>    
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";
        s|VGroup {
            gap: 150;
            left: 30;
        }
    </fx:Style>
    <s:VGroup>
        <s:Label text="text1" />
        <s:Label text="text1" />
    </s:VGroup>
</s:Application>

VGroup は、想定どおり、左から 30 ピクセルです (これは、スタイルが使用されていることの証明です)。しかし、指定されたギャップは無視されます。'gap="150"' を VGroup-Element に直接フィードすると、機能します。では、css を使用するときにこれが無視されるのはなぜですか?

ヒントをありがとう。

クー、マーカス

4

1 に答える 1

2

ギャップはスタイルではなく、VGroup クラスの「プロパティ」であるためです。このプロパティは、VerticalLayout#gapプロパティの単なるラッパーです。

FlashBuilder を使用している場合は、候補リストで 2 つの違いを確認できます。プロパティは緑色の円で表されます。スタイルは、青い「テトリス ブロック」の形状として表示されます。

edit Leftもプロパティですが、それでも適用されます。この理由は、Flex SDK の古いリリースでは、、、、、およびbaselineがスタイルとして実装されているためです。したがって、それらをそのまま使用できる理由は、下位互換性です。topbottomleftrighthorizontalCenterverticalCenter

于 2012-01-15T21:17:11.870 に答える