1

1つのコンポーネント(ボタン)を持つ.MXMLファイルを含むFlexライブラリプロジェクトを作成しました。myLibrary.viewsパッケージではButton.mxmlと呼ばれます。

次に、ライブラリプロジェクトのボタンを含める別のFlexMobileプロジェクトを作成しました。このプロジェクトは、以前に作成されたライブラリを参照します。

これを達成する方法についての答えが見つかりません。

mxmlコンポーネントのように追加できますか?

   <?xml version="1.0" encoding="utf-8"?>
  <         s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 

           applicationDPI="240">
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<fx:Script>
    <![CDATA[
        import myPackage.views.Button; // this is the package containing Button.mxml

    ]]>
</fx:Script>
 <myPackage.Views.Button id="myButton" /> // is this possbile somehow ???

     </s:Application>

ありがとうございました!

4

1 に答える 1

3

まず、他のプロジェクトをライブラリパスに追加してください。これを行うには、生成されたSWCをlibsフォルダーに追加するか、ライブラリパスに追加します。両方のプロジェクトが同じFlashBuilderワークスペースにある場合は、[ライブラリ]タブの[プロジェクトの追加]ボタンを使用できます。

次に、MXMLで新しいButtonファイルを使用するには、最上位のMXMLタグに名前空間をインポートする必要があります。このようなもの:

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

構文は、Flexが独自のパッケージに対して行うものと非常によく似ています。おそらく名前空間URLを作成するプロセスを経ていない場合を除いて、パッケージ名を使用します。名前空間のURLを作成しないことは、ほとんどの場合、それが価値があるよりも頭痛の種です。

次に、次のようにカスタムボタンを使用できます。

<myPackage:Button id="myButton" />

これは、他のFlexコンポーネントと同じ構文に従います。これはnamespace:ComponentNameです。

ActionScriptのインポートステートメントに基づいてMXMLのコンポーネントを使用することはできません。しかし、あなたは正しい考えを持っていました。

于 2013-02-25T19:56:48.907 に答える