誰でも知っていますか、Flex ComboBox(または類似のもの)のItemClickイベントをキャッチする方法はありますか?たぶん、何かトリックがあります:)私はそれをカスタマイズすることができることを認識していますが、これは私のケースに合っていません。お時間をItemClickイベントはフレックスコンボボックス
感謝:)
誰でも知っていますか、Flex ComboBox(または類似のもの)のItemClickイベントをキャッチする方法はありますか?たぶん、何かトリックがあります:)私はそれをカスタマイズすることができることを認識していますが、これは私のケースに合っていません。お時間をItemClickイベントはフレックスコンボボックス
感謝:)
参考になり、プライベートだと思いますITEM_CLICK
にリスナーがプライベートで、リスト自体もプライベートである:
private var _dropdown:ListBase;
private function getDropdown():ListBase
{
// ...
_dropdown = dropdownFactory.newInstance();
// ...
_dropdown.addEventListener(ListEvent.ITEM_CLICK, dropdown_itemClickHandler);
// ....
}
private function dropdown_itemClickHandler(event:ListEvent):void
{
if (_showingDropdown)
{
close();
}
}
だから、あなたがすることはできませんさらにComboBox
を延長してください。
唯一の公的なものはdropdownFactory
です。理論的には、作成されたドロップダウンリストを登録するか、拡張リストを作成するためにオーバーライドすることができます。しかし、私が見る問題は、ComboBox
がドロップダウンリストの親ではないということです.PopupManagerはそうです。これはディスパッチ(バブル)イベントを非常に困難にする可能性があります。
本当、本当に難しい。 ComboBoxとListの2つのコンポーネントがあるとしたらどうでしょうか?コンボのdropdownWidthを0に設定します。リストの下に配置します。そして、ユーザーが何とかコンボを開こうとすると、(dropDownの代わりに)Listコントロールを表示します。私は疑問を持っています。それは汚い解決策ですか? AutoCompleteコンポーネントの1つでこのようなことがわかりました。 – Antenka
IMHO、必要なものすべて(сблэкджекомишлюхами)で独自の 'ComboBox'を書く方が簡単です。これは部分的にオリジナルからコピーされています。私はすでにフィルタとツリーをドロップダウンとして編集可能なものを書いています。希望の動作を達成するために、元の 'ComboBox'をどのようにパッチしてハックするのか想像できません。 – moropus
Heh、true ..説明のおかげで(доходчиво:Р)。私のコンボマスターピースを書くためにカスタマイズを避けることで失敗しました:) – Antenka
私は、あなたがドロップダウンリストを作成し、mx:ComboBox
ソース、関数の中で見ることができるように、次の文書が
この解決策が見つかりました。 itemClickオプションのないスパークのドロップダウンリストが必要です(ボタン上で選択したアイテムラベルを表示しないでください)
[Event(name="itemClick", type="mx.events.ItemClickEvent")]
public class ItemClickDropDownList extends DropDownList
{
public function ItemClickDropDownList()
{
super();
}
override public function closeDropDown(commit:Boolean):void
{
super.closeDropDown(commit);
var e:ItemClickEvent = new ItemClickEvent(ItemClickEvent.ITEM_CLICK, true);
e.item = this.selectedItem;
e.index = this.selectedIndex;
dispatchEvent(e);
//Deselect item
this.selectedIndex = -1;
}
いいえニックネーム、少し気になります;)なぜitemClickが必要ですか?オリジナルの問題に別の解決策があるかもしれません。 – moropus
ありがとう:)おそらくあなたは正しいですが、私はまだこれを動作させることに興味があります。唯一の解決策はカスタマイズですか? – Antenka
どのようなコンボボックスを使用しますか? MXまたはスパーク? – Constantiner