Просмотр полной версии : Узнать индекс элемента вызвавшего событие
Казалось бы, проще простого:
teamGroup.getElementIndex(e.currentTarget)
Но компилятор ругается на несоответствие типов Объект и Визуального элемента.
Кто нибудь сталкивался?
ShockWave512
12.08.2010, 02:19
teamGroup.getElementIndex(e.currentTarget as VisualElement)
но лучше так не делать
teamGroup.getElementIndex(e.currentTarget as VisualElement)
но лучше так не делать
ShockWave, спасибо, работает. А как лучше сделать?
ShockWave512
12.08.2010, 13:26
нужно смотреть весь код, так сразу не скажу
ну, например так: держать в teamGroup забинденый индех на эти элементы
и кликнутый элемент сам меняет этот индекс
в вашем случае если придет currentTarget не VisualElement типа, получите ошибку
такое сплошь и рядом
Пока что работает на ура. У меня элементы в teamGroup создаются динамически (забиндить не получится) и только IVisualElement, ничего левого быть вобщем-то не может.
ShockWave512
13.08.2010, 01:05
почему это ?
visElement.localVarRef = mainBindVar
ShockWave512, не могли бы вы привести небольшой кусок кода поясняющий вашу мысль? Обычно делаю через as, но хотелось бы усвоить "как надо".
ShockWave512
15.08.2010, 23:07
// Это в родителе
[Bindable]
public var colorBackground:uint = 0x000000;
// Это тоже в родителе
<mx:VBox backgroundColor="{colorBackground}"/>
//Цикл создания детей (List, Repeater, For - не суть)
visualChildVar.colorBackground = this.colorBackground; // Пишем в дитё ссылку на биндованную переменную, ессна в классе дитя она должна быть описана
// Терь если меняется в любом из чаилдов, это отражается в родителе.
colorBackground = 0x00ff00;
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.