Проблема (как вы, я уверен, уже выяснили) заключается в том, что элементы текстового потока не являются объектами отображения и, следовательно, не реализуют нормальное поведение объекта отображения.
Что вам нужно сделать, так это создать собственный InlineGraphicElement, который прикрепляет нужные вам прослушиватели событий, а затем отправлять событие из экземпляра textFlow, чтобы его можно было прочитать где-то в иерархии вашего объекта отображения (или в любом другом выбранном вами методе для таргетинга на этот объект). событие).
Вы можете увидеть хороший пример того, как добавить взаимодействие с мышью, посмотрев исходный код на LinkElement (см. функцию createContentElement).
К сожалению, InlineGraphicElement помечен как окончательный, поэтому вам нужно будет дублировать его функциональность, а не расширять его. Просто убедитесь, что вы используете пользовательский графический элемент в своем коде вместо обычного.
Удачи!
изменить
На всякий случай, если смысл был утерян, идея состоит в том, что вы можете перехватить событие мыши где-нибудь в своем приложении, прикрепив прослушиватель к textFlow, а затем программно создать и расположить всплывающую подсказку над элементом, используя стандартные методы, чтобы найти границы элемент текстового потока.
person
drkstr
schedule
27.05.2011