問題タブ [mxml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
507 参照

apache-flex - MXML の必須属性?

おそらくある種のメタデータを介して、オブジェクトのプロパティを強制的に設定することは可能ですか? 次のように、1 つ以上のプロパティが設定されていない限り、単に何もしない非ビジュアル コンポーネントがいくつかあります。

この場合、ターゲット プロパティが設定されていないのは意味がないため、必須としてマークすると便利です。文書化するのは簡単なので、これは大きな問題ではありませんが、コンパイラにエラーを開発者に知らせることで、少なくともいくつかのデバッグのラウンドトリップをなくすことができればよいでしょう。

このタグが冗長になることは望みません。(この例では) ToolTip コンポーネントを UIComponent にして親プロパティを使用するだけで解決できたはずです。しかし、1 つには、これにより不要なオーバーヘッドが追加され、他の場合には単に適切ではありません。

では、必須の mxml 属性は可能ですか?

0 投票する
2 に答える
560 参照

apache-flex - 他の MXML ファイルで定義された関数の使用

Main.mxml ファイルと RoutePlanner.xmlm ファイルがあります。RoutePlanner はカスタム Canvas コンポーネントを定義し、Main.mxml はそのカスタム コンポーネントを使用します。

問題は、RoutePlanner コンポーネントに Click() や MouseMove() などの多くのイベントが含まれていることです。ただし、これらのイベントが参照する関数はすべて Main.mxml で定義されています。

Main.mxml は、分割しようとしている巨大なファイルでした。関数でクラス変数が使用されているため、関数を Main からカスタム コンポーネントに移動することはできません。

includeコンポーネント内の Main にできるので、メソッドを使用できますか? または、すべてのメソッドを AS ファイルに移動し、それをメインとコンポーネントの両方に含める必要がありますか? (ただし、静かにするためにもう少し作業が必要になります)

または、コンポーネントにプレースホルダー関数を作成し、それらのプレースホルダーをバインド可能にし、Main.mxml でコンポーネントを作成した後、Main.xml で定義された実際のメソッドをコンポーネントのイベントにバインドすることは可能ですか?

前もって感謝します、

クァーク

0 投票する
2 に答える
1305 参照

apache-flex - AddChild を使用して構築された TextInput にフォーカス プロパティを設定するにはどうすればよいですか?

私は次のMXMLを持っています:

<mx:SetProperty/> を使用して TextInput フィールドにフォーカスを設定するにはどうすればよいですか? 次のことを試しましたが、フィールドが強調表示されるだけです-カーソルはTextInputに表示されません:

要するに、フィールドにカーソルを表示したいのです。

更新:私はそれを理解しました。解決策についてはコメントを参照してください。

0 投票する
3 に答える
1281 参照

apache-flex - ベスト プラクティス: Flex でレイアウトをどのようにコーディングしますか?

Flex で単純なフォーム レイアウトをコーディングしたいと考えています。次のようなもの:

最初に、レイアウトに vbox と hbox を使用してこれをコーディングしようとしました。次のように

このコードを ItemRender などで再利用し始めると、パフォーマンスにやられてしまいます。

コードがこれらのコンポーネントの正確な位置を独自に計算する必要があるため、HBox と VBox の過剰使用はパフォーマンスに負担がかかるとどこかで読みました。

その答えを念頭に置いて、Canvas に切り替えました。このようなもの:

特定のテキストフィールドを隠したり表示したりしたい場合、これはそれ自体が悪夢になり始めます。または、textArea があり、ワードラップを使用したい場合。他の要素の位置に基づいてオブジェクトをキャンバスに動的に配置し始めましたが、メンテナンスの悪夢になりつつあります。

質問:

それで、私の頭痛を和らげる Flex 用の Layout Manager があるかどうか疑問に思っていましたか? または、一般的に、レイアウトをコーディングするためのより良い方法がある場合。

0 投票する
7 に答える
35286 参照

apache-flex - Flex警告:クラス'Object'のプロパティ'foo'にバインドできません(クラスはIEventDispatcherではありません)

フォーム要素にバインドしたいフィールドが12個ほど含まれているオブジェクトがあるので、そのオブジェクトを使用してデータをサーバーに送り返して保存することができます。

私のコンテナオブジェクトの定義:

currentLink実行時にArrayCollectionから特定のインデックスに割り当てられますemptyLink。ほとんどの場合、初期化の目的でオブジェクトを使用しています。

もちろん、これは正常にコンパイルおよび表示されますが、インスタンスごとに実行時の警告があります。

警告:クラス'Object'のプロパティ'trigger1'にバインドできません(クラスはIEventDispatcherではありません)警告:クラス'Object'のプロパティ'trigger2'にバインドできません(クラスはIEventDispatcherではありません)警告:バインドできませんクラス'Object'のプロパティ'trigger3'(クラスはIEventDispatcherではありません)警告:クラス'Object'のプロパティ'trigger4'にバインドできません(クラスはIEventDispatcherではありません)警告:クラスのプロパティ'trigger5'にバインドできません'オブジェクト'(クラスはIEventDispatcherではありません)

また、フィールドが変更されてもcurrentLinkオブジェクトは更新されません。TextInput

明白な答えは、私のオブジェクトはを実装するクラスのインスタンスである必要があるということIEventDispatcherです。その答えが私に教えてくれないのは、そのインターフェイスの実装の詳細(何が必要ですか?何が必要でないのですか?)であり、これを行うためのより簡単な方法がある場合-私のカスタムプロパティを喜んで受け入れて許可する組み込みクラスのようにバインディングのために、インターフェースの実装の詳細について心配する必要はありません。

そのようなクラスは存在しますか?そうでない場合、このタスクを達成するための最低限および/または受け入れられている基準は何ですか?

0 投票する
5 に答える
2440 参照

apache-flex - 静的プロパティの変更に対応する

純粋な AS で MXML アイテム レンダラーを書き直しています。私が乗り越えられないように見える問題は、各アイテム レンダラーがアイテム レンダラー クラスの静的プロパティの変更に反応するようにする方法です。MXML バージョンでは、アイテム レンダラーに次のバインディングを設定しています。

ASでこれを設定する同等の方法は何ですか(BindingUtilsを使用すると思います)?

更新:
次は機能していないと思いましたが、Flex が instanceFunction でスローされたエラーを抑制しているように見え、バインディング自体が悪いように見えます。

ただし、instanceFunction が呼び出されると、指定されたインスタンスで既に初期化されている変数はすべて null になり、これが上記のエラーの原因でした。これはなぜですか?

0 投票する
2 に答える
791 参照

apache-flex - swf から MXML および ActionScript クラスを取得する

こんにちは、Flex の安全性を知りたいです。swf ファイルからソースを生成する可能性はありますか? たとえば、Actionscript ファイルと MXML ファイルを持っていて、それらを swf にコンパイルした場合、swf ファイルからソースを取得できますか?

敬具

セバスチャン

0 投票する
4 に答える
5646 参照

actionscript-3 - ActionScript 3 コードまたは MXML を使用してムービークリップを作成することはできますか?

Flex 3 SDK と無料のFlashDevelop IDE を使用しています。

FlexBuilder または Flash CS4 Professional を持っていないので、ムービークリップをグラフィカルに作成できません。

その代わりに、コードまたは MXML を使用して単純な MovieClip を作成したいと考えています。たとえば、3 つのフレームでムービークリップを作成し、各フレームにビットマップをロードして単純なアニメーションを作成するとします。

これは可能ですか?私は良いグーグルを持っていましたが、私が見つけることができる唯一の例は、既存のムービークリップをロードしてステージに追加することです。

0 投票する
3 に答える
1524 参照

apache-flex - MXMLでの辞書宣言、それは可能ですか?

MXMLでは、次のように、動的オブジェクトの場合でも、オブジェクトインスタンスを宣言できます。

MXMLラッパークラスを使用せずにDictionaryクラスで同じことを行うことは可能ですか?

0 投票する
1 に答える
1078 参照

apache-flex - カスタムItemRendererにセルではなくDataGridをスクロールさせることは可能ですか?

DataGrid用に作成したカスタムItemRendererに問題があります。このItemRendererを使用すると、コンテンツがDataGridセルの幅と高さを超える可能性があります。これが発生すると、スクロールバーが表示され、個々のセルをスクロールできます。

ただし、セルの内容が大きすぎると、個々のセルではなく、DataGrid全体がスクロールします。

これで、カスタムItemRendererの水平および垂直スクロールバーポリシーを「オフ」に設定すると、必要なDataGridの垂直スクロールが得られます(個々のセルはコンテンツの全高に対応するように伸びます)が、得られません水平スクロール。代わりに、セルに対して幅が広すぎるコンテンツはクリップされます。ちなみに、DataGridの水平スクロールバーポリシーを「オン」に設定しても効果はありません。スクロールバーのガターは描画されますが、何もスクロールしません。

カスタムItemRendererのコンテンツがセルに対して広すぎる場合に、DataGridを強制的に水平方向にスクロールする方法はありますか?