なぜMXん:状態はトラブルは、コンポーネントの実装に解決されてきましたか?

StackOverflow https://stackoverflow.com/questions/369120

  •  21-08-2019
  •  | 
  •  

質問

私は、MXMLファイル内の状態を設定するときに

毎日のようにして、私はエラーを取得します。状態コンポーネントの実装に解決することができませんでした。

:私が手にエラーがMXはと言います。 状態:何とかは、MXを解決するために、コンパイラの機能をオフに投げること -

私は、この問題が拡張コンポーネントによって引き起こされると、次のURLで、読んで。このような場合でなければなりませんなぜ私は表示されませんが、私は自分自身のいずれかの答えを持っていません。また、私は必ずしも私の拡張コンポーネントのすべてと、このアプローチの仕事をすることはできません。

http://life.neophi.com/danielr/2007/01 /could_not_resolve_to_a_compone.htmlする

私が作ってみた問題を回避するには、任意の名前空間を使用しないことです。 だから、私のコードは、このようになります。

<states>...</states>

ではなく、

<mx:states>...</mx:states>

(少なくとも、私には)、この見知らぬ人を作るタグの子供がいるという事実である - - この問題は発生しません。 MX:状態は解消することはできませんが、その子のmx:州立缶。およびMX:てSetProperty - MXの子:状態は - も解決されます。

誰もがこれを説明し、かつ/または、私が作ってみたものよりも、問題へのよりよい解決策を提供することはできますか?

ちなみに、私はMXと同じ問題を参照してください。トランジションを

役に立ちましたか?

解決

カスタムコンポーネントを使用している場合は、

、あなたはおそらく、のMX の以外の名前空間でそれを持っています。あなたは、名前空間を除去することにより、正しい軌道に乗っているが、あなたはそれを行う必要はありません。次の例を考えてみましょう。

<example:MyComponent xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:example="com.example.*">
</example:MyComponent>

このコードでは、我々はcom.exampleパッケージにMyComponentの名前のカスタムコンポーネントを持っています。さて、どのように我々は、カスタム状態を追加するには?それは簡単です!

<example:MyComponent xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:example="com.example.*">

    <example:states>
        <mx:State name="CustomState">
        </mx:State>
    </example:states>

</example:MyComponent>
ボタン上のコンポーネントの

のプロパティ、のようなの状態の、の遷移の、あるいはのラベルの子要素として作成することができます。これらのプロパティは、コンポーネントのインスタンスと同じ名前空間を使用する必要があります。プロパティが継承チェーンのどこから来るのか、それは問題ではありません。 com.example.MyComponentはmx.containers.Canvasを拡張した場合でも、状態プロパティはMyComponentのが定義されているXML名前空間を使用します。

プロパティののプレフィックス単に継承されます。のMXがあるため状態

要するに、のMXとしての状態のプロパティではないと思いますコンポーネントから。それはクラス(ないプロパティ)だと、そのクラスは、MX名前空間で定義されているので、我々は実際の状態そのものを定義するとき、

の:。しかし、我々は、のMXを使用する必要があります

の説明ではさらに一歩を移動するには、あなたが変更することができます。のhttp:// WWW。 のMX の以外のものにするためにadobe.com/2006/mxmlする の名前空間ます。

<zzz:VBox xmlns:zzz="http://www.adobe.com/2006/mxml">
    <zzz:states>
    </zzz:states>
</zzz:VBox>

この例では、のZZZ から MX の変更します。さて、の状態のプロパティの接頭辞する必要がありZZZ:代わりにのMXの

他のヒント

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
         width="100%" 
         height="100%"
         backgroundColor="#f7f7f7" 
         xmlns:common="com.americanexpress.voice.view.component.common.*">
    <mx:states name="edit">

これはなぜ失敗するのか?また、私は定義された複数の名前空間を持っているとき、これは失敗したことを発見しました。 <mx:が問題に対処し削除します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top