Flex 3 — получение focusIndex на панели кнопок

Я искал, как получить свойство focusIndex для ButtonBar, когда есть событие mouseOver/Out, но не нашел ничего полезного.

Заранее спасибо за помощь.

С уважением,
BS_C3


РЕДАКТИРОВАТЬ 1

Предполагая, что у нас есть эта панель кнопок:

панель кнопок

Я хотел бы знать, при переворачивании, целевая кнопка.

Помещение точки останова в функцию, которая прослушивает событие mouseover, вот что я вижу в представлении отладки:

focusedIndex

Как видите, есть переменная focusIndex, которая, как ни странно, не задокументирована...


person BS_C3    schedule 07.11.2011    source источник
comment
Что вы ожидаете от свойства focusIndex? Какую информацию должно предоставить вам такое свойство? Будет ли работать selectedIndex?   -  person JeffryHouser    schedule 07.11.2011
comment
Я использую пользовательскую всплывающую подсказку, которая запускается, когда пользователь наводит указатель мыши на кнопку на панели кнопок. При отладке и проверке переменных события mouseOver я обнаружил, что существует переменная с именем focusIndex... Знание индекса поможет мне получить нужные мне данные из поставщика данных на панели кнопок.   -  person BS_C3    schedule 08.11.2011
comment
Это действительно то, что я хотел бы знать... Однако панель кнопок не получает те же данные, что и простая кнопка... ›.‹ Я только что добавил EDIT 1, где вы можете увидеть focusIndex, о котором я говорю. Я знаю, что это не задокументировано... что меня удивило, потому что я вижу это в своем представлении отладки...   -  person BS_C3    schedule 08.11.2011


Ответы (1)


Значение представляет собой значение mx_internal.

Просто используйте эту магию, когда делаете импорт:

import mx.core.mx_internal;
use namespace mx_internal;

Затем вы сможете получить доступ к значению в манипуляторе мыши на панели кнопок без проблем:

trace(e.target.focusedIndex);

В качестве уточнения; свойство класса ButtonBar; не в классе событий, как вы изначально заявили. Экземпляр ButtonBar встроен в событие мыши. Я слышал, что раньше это называлось вложенными объектами.

person JeffryHouser    schedule 08.11.2011
comment
Привет! Это прекрасно работает! Следующая проблема, с которой я сталкиваюсь, заключается в том, что я не могу использовать «использовать пространство имен mx_internal», потому что я использую StyleManager для установки стилей. Итак, я получаю сообщение об ошибке 1000: Неоднозначная ссылка на setStyle. Я попробовал несколько трюков (sherifabdou.com/2008/09/1000- ambiguous-reference-to-setstyle), но не может заставить его работать. У вас есть какая-нибудь подсказка? Спасибо :) - person BS_C3; 09.11.2011
comment
Если есть неоднозначная ссылка; вы должны решить ее, полностью классифицировав имя класса перед вызовом метода; и, возможно, указание пространства имен для пространств имен mx_internal. Я думаю, вы, вероятно, можете удалить команду использования и заменить трассировку на e.target.mx_internal::focusedIndex или что-то подобное. Я забываю точный синтаксис навскидку. Вам нужно будет предоставить больше кода, чтобы получить более конкретный ответ. - person JeffryHouser; 09.11.2011
comment
Что ж, я, наконец, перестал использовать StyleManager... Я пытался использовать e.target.mx_internal::focusedIndex, но это не сработало... :( Спасибо за все ваши ответы и помощь :) - person BS_C3; 09.11.2011
comment
У меня, должно быть, неправильный синтаксис. Рад, что это помогло, хотя. - person JeffryHouser; 09.11.2011
comment
Ваш синтаксис не является неправильным... Я видел такой же синтаксис во многих местах... но он просто не работал ›.‹ - person BS_C3; 09.11.2011