Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 我可以在MXML中的一个文件中包含多个类吗?_Apache Flex_Actionscript 3_Mxml - Fatal编程技术网

Apache flex 我可以在MXML中的一个文件中包含多个类吗?

Apache flex 我可以在MXML中的一个文件中包含多个类吗?,apache-flex,actionscript-3,mxml,Apache Flex,Actionscript 3,Mxml,我有一个只在classA中使用的classB。但是,classA是以mxml编写的,而不是actionscript代码。是否可以在MXML中嵌套类或在同一.MXML文件的根标记后添加另一个类? 澄清:我希望两个类都用MXML编写在同一个文件中,但我在Adobe文档中找不到任何指定如何编写的内容。不,您不能在一个MXML文件中定义两个类,但您可以为这两个类使用相同的包(名称空间),并使classB成为内部的,因此,它仅对该包中的类可见。我相信您正在寻找允许您在现有MXML文档中定义新MXML文档的

我有一个只在classA中使用的classB。但是,classA是以mxml编写的,而不是actionscript代码。是否可以在MXML中嵌套类或在同一.MXML文件的根标记后添加另一个类?
澄清:我希望两个类都用MXML编写在同一个文件中,但我在Adobe文档中找不到任何指定如何编写的内容。

不,您不能在一个MXML文件中定义两个类,但您可以为这两个类使用相同的包(名称空间),并使classB
成为内部的
,因此,它仅对该包中的类可见。

我相信您正在寻找允许您在现有MXML文档中定义新MXML文档的标记:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:local="*">

    <fx:Declarations>
        <fx:Component className="MyMXMLClass1">
            <s:Group>
                <s:Button label="MyMXMLClass1" />
            </s:Group>
        </fx:Component>
        <fx:Component className="MyMXMLClass2">
            <s:Group>
                <s:Button label="MyMXMLClass2" />
            </s:Group>
        </fx:Component>
    </fx:Declarations>

    <s:VGroup>
        <local:MyMXMLClass1 />
        <local:MyMXMLClass2 />
    </s:VGroup>

</s:Application>

如果嵌套类中需要多个继承级别,则的替代方法是使用,例如:

<fx:Library>
    <fx:Definition
        name="MyClass"
        >
        <s:Group>
        ...
        <s:/Group>
    </fx:Definition>
</fx:Library>

...
<!-- Use MyClass later in the file. -->
<fx:MyClass ... />

...
...

必须位于MXML文件的顶部。此语法允许在一行中嵌套多个类定义,每个类定义都可以通过继承扩展上一个类定义。

您能提供更多示例吗?这取决于你的类是否基于视图以及它们的用途。我认为这个答案有点不完整。MXML文件中不能有两个类。但是,在一个ActionScript文件中可以有两个类。这很少见,但有时确实会出现。以Flex 4 VerticalLayout类为例。另外,我不知道如何在MXML文件中指定“内部”;这就是最初的海报所问的。@www.Flextras.com OP说,classA是用MXML编写的,classB必须是内部的,他没有提到这也必须是MXML。