1

为什么我需要在 Flex 4.1“仅 MX 组件集”项目中添加额外的命名空间声明(如下)以使其在 Flash Builder 中编译?(它说当通过设计视图添加图表时无法解析 mx:LineChart,并且引用了 datavisualization.swc。)

有没有一种方法可以在不将这些特殊的 xmlns:charts、xmlns:series 和 chartClasses 添加到声明中的情况下进行编译?(如果我只是保留默认命名空间并使用 mx:SomeChartComponent,它不会编译。)

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:mx="library://ns.adobe.com/flex/mx" 
xmlns:charts="mx.charts.*"
xmlns:series="mx.charts.series.*"
xmlns:chartClasses="mx.charts.chartClasses.*">


<charts:PieChart id="chart" height="100%" width="100%"
             paddingRight="5" paddingLeft="5" color="0x323232"
             dataProvider="{medalsAC}" >

<charts:series>
    <series:PieSeries labelPosition="callout" field="Gold">
        <series:calloutStroke>
            <s:SolidColorStroke weight="0" 
                                color="0x888888" alpha="1.0"/>
        </series:calloutStroke>
        <series:radialStroke>
            <s:SolidColorStroke weight="0" 
                                color="#FFFFFF" alpha="0.20"/>
        </series:radialStroke>
        <series:stroke>
            <s:SolidColorStroke color="0" 
                                alpha="0.20" weight="2"/>
        </series:stroke>
    </series:PieSeries>
</charts:series>

4

1 回答 1

0

我不相信你可以在不定义额外的命名空间/包的情况下做到这一点。这是由于迁移到 Flex 4 时 mx 命名空间发生了变化,现在 mx 命名空间定义为:

图书馆://ns.adobe.com/flex/mx

它曾经是:

http://www.adobe.com/2006/mxml

这里有更多关于命名空间的信息:http: //livedocs.adobe.com/flex/3/html/help.html?content= 03_Language_and_Syntax_06.html

基本上,使用旧命名空间应该适用于图表代码,因为它是使用该命名空间定义的,但是它会期望找到具有该命名空间的所有更新的 mx 组件,这是我认为您会遇到问题的地方。

于 2012-03-12T22:12:47.037 回答