2010-05-23 51 views
2

我是Flex開發人員的新手,並且使用帶有SDK 4的Flash Builder 4.現在,我得到錯誤消息「元素」fx:Style「的前綴」fx「沒有綁定在行號中4. 我搜索了它,它有某事。與命名空間有關,但我無法自己解決它。未綁定元素的前綴

我有一個名爲「UserStory.mxml」目錄中的「分量」的文件通過main.mxml將它放置在屏幕上:

<fx:Script> 
    <![CDATA[ 
     import components.UserStory; 
     private function init():void { 
      var userStory1:UserStory = new UserStory(); 
      userStory1.x = 100; 
      userStory1.y = 100; 

      userStory1.userStoryText = "test"; 

      this.addChild(userStory1); 
     } 
    ]]> 
</fx:Script> 

在這行中出現錯誤沒有文件。 4:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="150" styleName="userstory"> 

    <fx:Style source="styles/styles.css"/> 

    <fx:Text x="5" y="5" width="275" height="135" text="{userStoryText}" fontFamily="notes" fontSize="18"/> 

    <mx:Script> 
     ... 
    </mx:Script> 
</mx:Canvas> 

有人可以告訴我什麼是錯?

回答

4

正如您懷疑這是命名空間的問題。 MXML只是XML,而在XML中,您可以定義名稱空間並將它們綁定到URL。名稱空間是XML元素冒號前的部分,通常在封閉元素上定義。

如果你看看你的MXML文件,你會看到的mx命名一個命名空間聲明:

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" ... 

fx聲明丟失,這就是編譯器抱怨。添加適當的定義,你應該罰款(見this page有詳細介紹):

<mx:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009" ... 

另外,如果您使用Flex 4,你應該檢查該文件作爲mx:Canvas是Flex 3的組成部分,因此不能直接用於在Flex 4應用程序中。查看Flex 4 SDK的API docs of Canvas

相關問題