2012-01-15 72 views
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时忽略了这一点?的Flex 4.6 CSS vgroup“缺口”忽略

感谢您的任何提示。

立方米,马库斯

回答

2

因为gap是在Vgroup类的 '财产',不是一种风格。此属性只是VerticalLayout#gap属性的包装。

如果使用FlashBuilder,你可以看到在推荐列表两者之间的区别。属性表示为绿色圆圈。样式显示为蓝色的“俄罗斯方块块”形状。

编辑Left也是一个属性,但它仍然得到应用。其原因是,在旧版本的Flex SDK baseline,top,bottom,left,right,horizontalCenterverticalCenter中,其中实现为样式。所以你仍然可以使用它的原因是向后兼容。

+0

谢谢! 这导致我到另一个问题:差距是恕我直言某些类型的样式属性,因为它影响的视觉印象和无关的数据分组。所以如果我想通过编写一个css文件来严格划分数据+逻辑和可视化配置,我该如何处理他?如果vgroup是换肤功能我可以写的skinClass和引入自己的CSS值和读取它的值通过在skinClass的动作手动设置。 – 2012-01-16 08:36:26

+0

@MarkusRossler想到远一点:VGroup本身限定了垂直布局,其可以被认为是造型。你不能通过CSS来做任何事情,我个人认为你的CSS文件如果可以的话会变得不可读。 Spark体系结构中的想法是,您创建包含布局和图形信息的外观类,您可以通过它的“skinClass”风格将其分配给视图。 – RIAstar 2012-01-16 09:10:49

+0

再次感谢您!通过我将解决这与一个BasicLayout,放置每个标签的CSS。我个人不明白,边界线的意思是什么应该通过css风格和什么属性不应该。但我们不需要在这里讨论这个问题。 :-) 再次感谢你! – 2012-01-16 10:11:32