标签: mxml

如何在Flex中直观地"突破"Container?

这是我的问题 - 我有一些像这样的代码:

<mx:Canvas width="300" height="300">
     <mx:Button x="800" />
</mx:Canvas>
Run Code Online (Sandbox Code Playgroud)

所以问题是画布中的Button有一个超过Canvas宽度的x属性方式 - 因为它是Canvas的一个子节点,Canvas屏蔽它并为我创建一些滚动条以滚动到按钮.

我想要的是在没有滚动条的情况下显示按钮 - 画布左侧800像素,同时仍然将按钮保留为画布的子画面.我怎么做?

apache-flex flash mxml actionscript-3

8
推荐指数
1
解决办法
1088
查看次数

Flex组合框中显示项目的自定义项目渲染器

我在组合框中使用自定义项呈示器来显示自定义绘图而不是默认文本标签.

这适用于下拉列表,但显示的项目(当列表关闭时)仍然是我的对象的文本表示.

有没有办法让显示的项目与下拉列表中的项目呈现方式相同?

apache-flex mxml combobox actionscript-3 itemrenderer

8
推荐指数
2
解决办法
1万
查看次数

在DataGrid中使用验证器 - Flex

我有一个可编辑的DataGrid,类似于:

<mx:Datagrid editable="true" dataProvider="{arrayListPreferences}" id="preferencesGrid">
    <mx:columns>
        <mx:DataGridColumn header="col1" dataField="preference" editable="false"/>
        <mx:DataGridColumn header="col2" dataField="value" editable="true"/>
    </mx:columns>
</mx:Datagrid>
Run Code Online (Sandbox Code Playgroud)

当用户编辑数据时,他点击了一个按钮,并调用一个将数据保存到数据库的功能,在此功能中,我必须在发送数据之前验证数据.我想使用简单的验证器(NumberValidator,StringValidator等),但我不知道如何将此验证器的源设置为第二列中的指定行.

apache-flex datagrid mxml actionscript-3

8
推荐指数
1
解决办法
8243
查看次数

使用ant和flex sdk编译mxml文件

我刚开始使用flex并且正在使用SDK(不是Flex Builder).我想知道从ant构建脚本编译mxml文件的最佳方法是什么.

apache-flex ant mxml

7
推荐指数
2
解决办法
1万
查看次数

Flex脚本文件中的默认命名空间范围警告(1084)

我有一个MXML文件,它引用了所有事件处理程序的外部脚本文件:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script source="LoginExample.as" />
    <mx:Button id="btnGoodLogin" click="btnGoodLogin_onClick()"  label="Good Login" enabled="true" y="28"/>
    <mx:Button id="btnBadLogin" click="btnBadLogin_onClick()"  label="Bad Login" enabled="true" y="28" x="112"/>
    <mx:Button id="btnLogout" click="btnLogout_onClick()"  label="Logout" enabled="true" y="28" x="219"/>
    <mx:Button id="btnCheck" click="btnCheck_onClick()"  label="Check" enabled="true" y="28" x="325"/>
    <mx:Text id="txtResult"  y="58" width="263"/>
</mx:Application>
Run Code Online (Sandbox Code Playgroud)

外部文件定义处理程序:

// LoginExample.as
import flash.events.*;
import flash.net.*;
function btnGoodLogin_onClick():void
{
   // ...
}
function btnBadLogin_onClick():void
{
  // ...
}
// etc. for other handlers
Run Code Online (Sandbox Code Playgroud)

这些处理程序中的每一个以及脚本中定义的每个其他函数都会产生编译器的警告消息:

1084:函数'btnBadLogin_onClick'将限定为默认命名空间:LoginExample:internal.它不会在此包装外面看到.LoginExample/src LoginExample.as第27行1225162212118 189

什么是摆脱这些警告的最佳方法?

apache-flex mxml actionscript-3

7
推荐指数
1
解决办法
5010
查看次数

我可以将Flex组件属性绑定到函数吗?

我想根据具有一个或多个参数的函数的返回值在按钮上设置enabled属性.我怎样才能做到这一点?

private function isUserAllowed (userName:Boolean):Boolean {
   if (userName == 'Tom')
      return true;
   if (userName == 'Bill')
      return false;
}

<mx:Button label="Create PO" id="createPOButton"
enabled="<I want to call isUserAllowed ('Bill') or isUserAllowed ('Tom') here>"
click="createPOButton_Click()" />
Run Code Online (Sandbox Code Playgroud)

apache-flex mxml actionscript-3

7
推荐指数
2
解决办法
1万
查看次数

为什么mxml不支持组件构造函数?

为什么Flex框架的mxml语言不支持组件的构造函数或接受组件的构造函数参数?据我所知,如果它采用构造函数参数,则无法在mxml中声明ActionScript对象.我很好奇这个原因.它是Adobe的设计选择还是与声明性语言的工作方式有关?例如,为什么不允许:

<myNameSpace:MyComponent constructor="{argArray}"/> 
Run Code Online (Sandbox Code Playgroud)

apache-flex mxml declarative-programming

7
推荐指数
1
解决办法
3860
查看次数

限制Textinput字段中的字符集

我有一个TextInput字段,应该限制为大写字母,小写字母,数字和下划线.这是我试图用来限制字符的代码:

restrict="\\A-Z\\a-z\\0-9\\ \\_\\-"
Run Code Online (Sandbox Code Playgroud)

我正在为这个Textinput组件使用MXML.

不幸的是,这不会限制\字符,这是我想要限制的最后一个字符.

如何将反斜杠添加到受限字符列表中?

谢谢

斯蒂芬

apache-flex mxml character restrict textinput

7
推荐指数
1
解决办法
1万
查看次数

Flex 4:构建具有背景的组

我正在尝试构建一个简单的组件,将spark.components.Group扩展为具有背景颜色,更具体地说是一个spark.primitives.Rect组件,它被拉伸以填充背景.

这就是我到目前为止所提出的:

<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo"
    <fx:Metadata>
        [DefaultProperty(name="content")]
    </fx:Metadata>

    <s:Rect id="background" width="100%" height="100%">
        <s:fill>
            <s:SolidColor color="#990000"/>
        </s:fill>
    </s:Rect>

    <s:Group id="container"/>

    <s:filters>
        <!-- For good measure ;) -->
        <s:DropShadowFilter color="#000000" strength="0.4" blurX="5" blurY="5" distance="2" angle="90"/>
    </s:filters>

    <fx:Script>
        <![CDATA[
            public function set content(value:Array):void {
                this.container.mxmlContent = value;
            }
        ]]>
    </fx:Script>
</s:Group>
Run Code Online (Sandbox Code Playgroud)

好的,所以这里的逻辑基本上是有道理的,对吧?在MXML中声明的所有子项都转到名为"container"的组中.这工作得很好.但是,当我运行下面的示例时,布局完全是fubar.

<s:VGroup>
    <!-- This is the component described above -->
    <components:MessageContainer id="component" width="100" height="100"/>
    <mx:Slider/>
    <mx:Slider/>
    <mx:ColorPicker/>
</s:VGroup>
Run Code Online (Sandbox Code Playgroud)

这就是它的样子:

flex fubar http://i34.tinypic.com/s4p0tz.jpg

这里有什么我想念的吗?也许我需要覆盖一种方法?

apache-flex mxml actionscript-3 gumbo flex4

6
推荐指数
1
解决办法
1万
查看次数

actionscript addChild首先需要显示对象

解:

如果你有同样的问题,addElement()而不是addChild()就是这样做的


我正试图从mxml转移到actionsctipt.我有一个<s:Rect>我已创建并设置其属性,但无法添加它.

var aRect:Rect = new Rect();
//set properties like aRect.x, aRect.y, aRect.width, aRect.height

//tried adding it various ways
addChild(aRect);
Application.addChild(aRect);
Application.application.addChild(aRect);
stage.addChild(aRect);
Run Code Online (Sandbox Code Playgroud)

但我一直得到错误 1067:类型spark.primitives的值的隐式强制:Rect到不相关的类型flash.display:DisplayObject

最初是在mxml中,它内部<s:Application>没有嵌套在任何内容中

<s:Application>

    <s:Rect id="aRect" x="10" y="10" width="15%" height="15%">
         //then fill code here, removed for readability
    </s:Rect>

</s:Application>
Run Code Online (Sandbox Code Playgroud)

什么是交易,我认为actionscript会比mxml更好.

apache-flex adobe actionscript mxml flex4

6
推荐指数
1
解决办法
3908
查看次数