越来越深入灵活

问题描述:

越了解你在做什么,你就会做得越好。越来越深入灵活

我想深入Flex。我做了一些简单的事件处理,并且你越了解你在做什么,你就会做得越好。

我有我的大问题:

什么是编译器做什么?! MXML文件会发生什么?

可以说,我们有一个简单的代码(代码blogflexexamples):

<?xml version="1.0" encoding="utf-8"?> 
<!-- http://blog.flexexamples.com/2007/12/27/changing-the-flex-colorpicker-controls-swatch-panel-background-color/ --> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
     layout="vertical" 
     verticalAlign="top" 
     backgroundColor="white"> 

    <mx:Style> 
     .myColorPicker { 
      swatchPanelStyleName: myCustomSwatchPanelStyleName; 
     } 

     .myCustomSwatchPanelStyleName { 
      backgroundColor: haloBlue; 
     } 
    </mx:Style> 

    <mx:Script> 
     <![CDATA[ 
      import mx.events.ColorPickerEvent; 

      private function backgroundColor_change(evt:ColorPickerEvent):void { 
       var cssObj:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".myCustomSwatchPanelStyleName"); 
       cssObj.setStyle("backgroundColor", evt.color); 

       colorPicker.open(); 
      } 
     ]]> 
    </mx:Script> 

    <mx:ApplicationControlBar dock="true"> 
     <mx:Form styleName="plain"> 
      <mx:FormItem label="backgroundColor:"> 
       <mx:ColorPicker change="backgroundColor_change(event);" /> 
      </mx:FormItem> 
     </mx:Form> 
    </mx:ApplicationControlBar> 

    <mx:ColorPicker id="colorPicker" 
      styleName="myColorPicker" 
      editable="false" /> 

</mx:Application> 

这并生成一个ActionScript文件? ,如果它:我可以看到.as文件(如C++中的预处理器)?

是的。 MXML被翻译成一个ActionScript类。您可以通过将-keep-generated-actionscript开关添加到项目属性 - > Flex编译器中的其他编译器参数来查看生成的代码。

+0

你从哪里得到这些信息? 任何预订建议? – 2010-01-01 22:58:42

+1

查看Adobe Developer Connection - http://www.adobe.com/devnet/flex/quickstart/coding_with_mxml_and_actionscript/ – mkurek 2010-01-01 23:11:54

仅供参考,这里有深Digg的进入Flex编译一些好的地方:

另一个很好的参考新的资源是最近发布的书麦克·琼斯开发Flex 4组件。它在第4页提到了将MXML编译为Actionscript,并为Flex组件的工作方式提供了坚实的基础。