簡體   English   中英

我可以在 MXML 的一個文件中包含多個類嗎?

[英]Can I have multiple classes in one file in MXML?

我有一個只能在 A 類內部使用的 B 類。 但是,classA 寫為 mxml,而不是 actionscript 代碼。 是否可以在 MXML 中嵌套類或在相同.mxml 文件中的根標記之后添加另一個 class ? 澄清:我希望在同一個文件中用 MXML 編寫兩個類,但我在 Adobe 文檔中找不到任何指定方式的內容。

不,您不能在一個 MXML 文件中定義兩個類,但您可以為這兩個類使用相同的 package(命名空間)並將 classB 設為internal ,因此它僅對該 package 中的類可見。

我相信您正在尋找允許您在現有 MXML 文檔中定義新 MXML 文檔的fx:Component標記:

<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>

如果嵌套類中需要多個級別的 inheritance,則<fx:Component>的替代方法(在上一個答案中提到)是使用<fx:Library>例如:

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

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

<fx:Library>必須位於 MXML 文件的頂部。 此語法允許在一行中嵌套多個 class 定義,並且每個定義都可以通過 inheritance 擴展前一個定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM