mx.states
public class SetStyle
继承SetStyle Inheritance Object
实现 IOverride

SetStyle 类指定只在父视图状态期间有效的样式。可以在 State 类的 overrides 属性中使用该类。

MXML 语法expanded隐藏 MXML 语法

The <mx:SetStyle> tag has the following attributes:

  <mx:SetStyle
   Properties
   name="null"
   target="null"
   value"null"
  />
  

查看示例

另请参见

mx.states.State
mx.states.SetEventHandler
mx.states.SetProperty
mx.effects.SetStyleAction


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  name : String
要更改的样式的名称。
SetStyle
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  target : IStyleClient
要更改其样式的对象。
SetStyle
  value : Object
样式的新值。
SetStyle
公共方法
 方法定义方
  
SetStyle(target:IStyleClient = null, name:String = null, value:Object = null)
构造函数。
SetStyle
  
应用覆盖。
SetStyle
 Inherited
指示对象是否已经定义了指定的属性。
Object
  
初始化覆盖。
SetStyle
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
  
删除覆盖。
SetStyle
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
属性详细信息
name属性
public var name:String

要更改的样式的名称。必须设置该属性,或在 SetStyle 构造函数中设置,或通过直接设置该属性值设置。

target属性 
public var target:IStyleClient

要更改其样式的对象。如果属性值为 null,则 Flex 将使用 State 对象的直接父级。

默认值为 null.

value属性 
public var value:Object

样式的新值。

默认值为 null.

构造函数详细信息
SetStyle()构造函数
public function SetStyle(target:IStyleClient = null, name:String = null, value:Object = null)

构造函数。

参数
target:IStyleClient (default = null) — 要设置其样式的对象。默认情况下,Flex 使用 State 对象的直接父级。
 
name:String (default = null) — 要设置的样式。
 
value:Object (default = null) — 视图状态中的样式值。
方法详细信息
apply()方法
public function apply(parent:UIComponent):void

应用覆盖。Flex 将保留原始值,以便以后可以在 remove() 方法中恢复该值。

当进入状态时自动调用此方法。不应直接对其进行调用。

参数

parent:UIComponent — 包含此覆盖的状态对象的父级。如果未指定明确目标,覆盖应使用它作为其目标。

initialize()方法 
public function initialize():void

初始化覆盖。Flex 在第一次调用 apply() 方法之前调用此方法,因此将覆盖的一次性初始化代码放在此方法中。

当进入状态时,Flex 自动调用此方法。不应直接对其进行调用。

IOverride 接口方法;该类将其作为空方法实现。

remove()方法 
public function remove(parent:UIComponent):void

删除覆盖。在 apply() 方法中记住的值将被恢复。

当进入状态时自动调用此方法。不应直接对其进行调用。

参数

parent:UIComponent — 包含此覆盖的状态对象的父级。如果未指定明确目标,覆盖应使用它作为其目标。

示例 如何使用示例
StatesExample.mxml
<?xml version="1.0" ?>
<!-- Simple example to demonstrate the States class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <!-- Define one view state, in addition to the base state.-->
    <mx:states>
        <mx:State name="Register">
            <mx:AddChild relativeTo="{loginForm}" position="lastChild">
                <mx:target>
                    <mx:FormItem id="confirm" label="Confirm:">
                        <mx:TextInput/>
                    </mx:FormItem>
                </mx:target>
            </mx:AddChild>
            <mx:SetProperty target="{loginPanel}" name="title" value="Register"/>
            <mx:SetProperty target="{loginButton}" name="label" value="Register"/>
            <mx:SetStyle target="{loginButton}" 
                name="color" value="blue"/>
            <mx:RemoveChild target="{registerLink}"/>
            <mx:AddChild relativeTo="{spacer1}" position="before">
                <mx:target>
                    <mx:LinkButton id="loginLink" label="Return to Login" click="currentState=''"/>
                </mx:target>
            </mx:AddChild>
        </mx:State>
    </mx:states>

    <!-- Define a Panel container that defines the login form.-->
    <mx:Panel title="Login" id="loginPanel" 
        horizontalScrollPolicy="off" verticalScrollPolicy="off"
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

        <mx:Text width="100%" color="blue"
            text="Click the 'Need to Register?' link to change state. Click the 'Return to Login' link to return to the base state."/>

        <mx:Form id="loginForm" >
            <mx:FormItem label="Username:">
                <mx:TextInput/>
            </mx:FormItem>
            <mx:FormItem label="Password:">
                <mx:TextInput/>
            </mx:FormItem>
        </mx:Form>
        <mx:ControlBar>
            <mx:LinkButton id="registerLink"  label="Need to Register?"
                click="currentState='Register'"/>
            <mx:Spacer width="100%" id="spacer1"/>
            <mx:Button label="Login" id="loginButton"/>
        </mx:ControlBar>
    </mx:Panel>
</mx:Application>