我有一个带有表单的MXML,里面有两个TextInputs.我讨厌在MXML文件中包含任何代码(我来自JavaScript形式)所以我使用了
mx:Script source="external.as"
Run Code Online (Sandbox Code Playgroud)
标记以包含任何MXML文件中使用的任何代码.问题是如果我在external.as文件上有这个代码:
private function populateFromForm():void{
var vo:ValidObject= new ValidObject();
vo.market = marketInput.text;
vo.segment = segmentInput.text;
vo.priceLow = priceLowInput.text;
vo.priceHigh = priceHighInput.text;
}
Run Code Online (Sandbox Code Playgroud)
其中marketInput,segmentInput,priceLowInput和priceHighInput是MXML文件中定义的TextInputs.当我尝试complile时,我得到一个1120:访问未定义的属性XXXXX
我尝试在函数之前添加这些行:
public var marketInput:TextInput;
public var segmentInput:TextInput;
public var priceLowInput:TextInput;
public var priceHighInput:TextInput;
Run Code Online (Sandbox Code Playgroud)
但我获得了1151:在命名空间内部定义XXXX存在冲突,这是完全有道理的.
有没有办法做到这一点,而不必将所有输入引用作为参数传递给函数?
Adobe建议在Flex Hero移动应用程序中为外观和ItemRenderers使用ActionScript.我的印象是MXML被编译成ActionScript.
当我在MXML中声明一个组件时,幕后究竟发生了什么?
as3创建的对象与MXML创建的对象之间究竟有什么区别?
如果我将MXML组件转换为as3类(即添加每个子组件并在代码中而不是在声明性MXML语法中手动设置每个子组件的每个属性),我获得了什么?
(目前我还没有可以测试的实际设备,并且对于包含数百个项目的List使用MXML ItemRenderers时,我的桌面计算机上没有性能下降.)
我想在mx:datagrid列之后应用列的宽度百分比.
我尝试了几个测试:
<s:DataGrid id="dgTuVous" fontWeight="normal"
dataProvider="{DP_PRAT_INIT}"
width="100%" height="100%"
horizontalScrollPolicy="on"
fontSize="10"
>
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="prInitiales" width="40%" headerText="Prat" />
<s:GridColumn width="60%" dataField="prTuVous"
headerText="Tu/Vous">
<s:itemEditor>
<fx:Component>
<s:ComboBoxGridItemEditor>
<s:dataProvider>
<s:ArrayList>
<fx:String>Tu</fx:String>
<fx:String>Vous</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:ComboBoxGridItemEditor>
</fx:Component>
</s:itemEditor>
</s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
Run Code Online (Sandbox Code Playgroud)
和
<s:DataGrid id="dgTuVous" fontWeight="normal"
dataProvider="{DP_PRAT_INIT}"
width="100%" height="100%"
horizontalScrollPolicy="on"
fontSize="10"
>
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="prInitiales" width=".4" headerText="Prat" />
<s:GridColumn width=".6" dataField="prTuVous"
headerText="Tu/Vous">
<s:itemEditor>
<fx:Component>
<s:ComboBoxGridItemEditor>
<s:dataProvider>
<s:ArrayList>
<fx:String>Tu</fx:String>
<fx:String>Vous</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:ComboBoxGridItemEditor>
</fx:Component>
</s:itemEditor>
</s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
Run Code Online (Sandbox Code Playgroud)
但任何作品.
第一个示例创建弹性错误,第二个第一列是不可见的.
谢谢你的帮助.
在最新的Adobe Flex sdk 4.6中,从性能视图来看哪个更好?
<s:Group width="100%" height="100%"/>
Run Code Online (Sandbox Code Playgroud)
要么
<s:Group left="0" right="0" top="0" bottom="0"/>
Run Code Online (Sandbox Code Playgroud)
谢谢.
如何在Adobe Flex 4中使用字体真棒图标,以及如何在字体真棒图标中设置样式。
如何在Adobe Flex中将按钮标签文本设置为图标。
在Apache Royale中,我们可以标识具有“ id”和“ localId”属性的对象。问题是要知道为什么我们显然有两种方法可以做到这一点。
我想知道我可以从mxml代码调用脚本中定义的as3函数,如下所示:
<mx:Line x="translateX(xmin);" .. >
<mx:Script>
<![CDATA[
// do some basic math
private function translate ...
Run Code Online (Sandbox Code Playgroud)
如果不可能,我必须将所有内容转换为as3吗?
谢谢
我在datagridColumn中有这种奇怪的行为,我已经将其定制为将其单元格呈现为checkBoxes而不是dafault itemRenderer(即字符串).相关代码如下:
<mx:DataGridColumn sortable="false" textAlign="center" headerText="" width="20" dataField="colCB">
<mx:itemRenderer>
<mx:Component>
<mx:CheckBox selected="true">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function change():void{
//TODO
}
]]>
</mx:Script>
</mx:CheckBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
Run Code Online (Sandbox Code Playgroud)
嗯,每当我选中一个复选框时,其他复选框(在其他行中)会被随机选中或取消选中,如果我向下或向上滚动它们会再次随机选中或取消选中.
有人可以帮我这个吗?
谢谢你的提前
PS顺便说一句,我已经抑制了标签中的起始"<",因为它正在弄乱textEditor,但在我的代码中它们在那里
我在表格上有一个文本区域控件,应该接受5位美国邮政编码.我已经为控件分配了一个keyUp事件,该事件检查输入的字符数,直到达到5然后强制换行.
public function forceNewLine(event:KeyboardEvent):void
{
var maxLineChars:int = 5;
var currentLine:int = 1;
var numChars:int;
numChars = (txtList.text.length);
currentLine = Math.round(txtList.text.length / 6);
if (numChars == (maxLineChars * currentLine))
{
txtList.text = txtList.text + "\n";
txtList.setCursorPosition()
//This is not a function I have defined but I think I need too..
}
}
<s:TextArea id="txtList" keyUp="forceNewLine(event)"/>
Run Code Online (Sandbox Code Playgroud)
它工作正常,除了插入新行时,光标移动到textarea的开头.我想让它走到尽头.
为什么我1120: Access of undefined property arrMonth.在线上出错arrMonth.push并如何纠正?
<fx:Script>
<![CDATA[
[Bindable]
public var arrMonth:Array = new Array();
arrMonth.push({label: "January"});
]]>
</fx:Script>
Run Code Online (Sandbox Code Playgroud) mxml ×10
apache-flex ×9
actionscript ×1
css ×1
datagrid ×1
external ×1
flex3 ×1
font-awesome ×1
itemrenderer ×1
mobile ×1
performance ×1
textarea ×1
textinput ×1