“在CSS选择器'DataGrid'中键入DataGrid必须使用命名空间限定”在Flex中进行样式设置时出现警告

时间:2010-02-04 02:43:28

标签: flex styling

我正在尝试在flex数据网格中设置标题样式,并且我一直收到警告:

  

在CSS选择器中键入DataGrid'DataGrid'必须使用命名空间

进行限定

这是什么意思?我经历了一系列教程,但没有一个有效。似乎改变数据网格中的颜色应该相对简单。

以下是代码示例:

<mx:Style>
    .headerCustomStyle
    {
        fontWeight: "bold";
        textAlign: "center";
        color: #0000FF;
    }

    DataGrid {
        alternating-item-colors: #F4FBFF, #FFFFFF;
    }
</mx:Style>

<mx:DataGrid draggableColumns="true" width="100%" id="topTracks" headerStyleName="headerCustomStyle" dataProvider="{_trackData.track}" >
    <mx:columns>
        <mx:DataGridColumn id="artistName" dataField="artist.name" headerText="Artist" width="250" />
        <mx:DataGridColumn id="trackName" dataField="name" headerText="Track" width="250"/>
    </mx:columns>
</mx:DataGrid>

3 个答案:

答案 0 :(得分:5)

如果您使用的是Flex 4,则需要定义如下命名空间:

@namespace mx "library://ns.adobe.com/flex/halo";
@namespace s "library://ns.adobe.com/flex/spark";
@namespace tlf "library://ns.adobe.com/flashx/textLayout";

/* Halo DataGrid */
mx|DataGrid
{
...
}

/* Spark Button */
s|Button
{
...
}

如果您使用的是新版本的Flex / Flash Builder,他们可能会提到这一点。不确定Flex 3是否需要名称空间。

这是Adobe CSS Namespace Support

上的文档

答案 1 :(得分:1)

如果您使用的是Flex 4,通常根本不使用CSS。 你以为我在讲故事?

好吧,看看这个: http://www.adobe.com/content/dotcom/en/devnet/flex/articles/migrating-flex-apps-part2.html

将Flex 4应用程序移植到无CSS代码,您不会遇到任何这些问题。

答案 2 :(得分:0)

我不确定为什么它会告诉您需要命名空间,但在CSS中,DataGrid是一种类型。

因此,请尝试为DataGrid(mx.controls.DataGrid

提供完全限定的命名空间