带有用户定义的参数的动作Action with a user-defined argument

<< 点击显示目录 >>

主页  mappView帮助助手 > mapp View帮助信息 > 工程 > 定制的小工具 > 复合型小部件 > 编辑复合小部件(XML) > 复合式部件的动作 >

带有用户定义的参数的动作Action with a user-defined argument

这个应用使得在复合小部件上定义一个动作成为可能,这个动作将  通过用户定义的参数分配给 一个或多个 小部件。

当在事件绑定中使用该动作时,必须使用该参数名称。

Element "Argument"

动作的元素<Argument>定义了该动作的用户定义的参数名称。

Attribute

说明

Data type

Required

name

参数的名称,使用时必须在事件绑定中指定。

String

Yes

type

参数的数据类型。

只有具有相同数据类型的部件动作可以被分配。

See the widget help documentation.

Yes

Element "Mapping"

在<Mapping>元素中,将一个行动分配给包含在复合小组件中的小组件的另一个行动。

映射中的复合小组件动作的用户定义参数可以被分配给复合小组件中包含的小组件动作的参数。

Attribute

说明

Data type

Required

widget

用户定义的行动应该被分配到的小组件的名称。

widgetRefId

Yes

action

应该被分配到的小组件动作的名称。

请参阅小组件的帮助文档。

Yes

Element "Argument" of the mapping

<Argument>元素在<Mapping>元素中,将复合widget参数分配给一个widget参数。

Attribute

Description

Data type

Required

name

Name of the user-defined argument that is assigned to the widget argument.

String

Yes

mapTo

Name of the corresponding widget argument.

请参阅小组件的帮助文档。

Yes

下面的例子显示了如何为一个复合部件定义一个自定义动作,并将它们分配给复合部件中包含的部件。然后这个动作可以用在名为 SetMultiVisible的事件绑定  和  数据类型为Boolean的 参数名称 visibleState

<Actions>
 <Action name="SetMultiVisible">
  <Description>Set visibility of Button and NumericInput.</Description>
  <Arguments>
   <Argument name="visibleState" type="Boolean"/>
  </Arguments>
  <Mappings>
   <Mapping widget="NumericInputLimit" action="SetVisible">
    <Arguments>
     <Argument name="visibleState" mapTo="value"/>
    </Arguments>
   </Mapping>
   <Mapping widget="PushButtonStart" action="SetVisible">
    <Arguments>
     <Argument name="visibleState" mapTo="value"/>
    </Arguments>
   </Mapping>
  </Mappings>
 </Action>
</Actions>

事件绑定的例子:

<EventBinding>
 <Source contentRefId="Content1" widgetRefId="Button2" xsi:type="widgets.brease.Button.Event" event="Click" />
 <EventHandler>
  <Action>
   <Target xsi:type="widgets.widgetlibrary_0.Motor.Action" contentRefId="Content1" widgetRefId="Motor1" >
    <Method xsi:type="widgets.widgetlibrary_0.Motor.Action.SetMultiVisible" visibleState="false" />
   </Target>
  </Action>
 </EventHandler>
</EventBinding>