Способ, которым я делал это раньше, - это создать очень простую всплывающую подсказку с элементом контейнера в качестве корня и одним простым текстовым блоком внутри, а затем подключиться к загруженному событию в текстовом блоке для обнаружения когда подсказка пытается быть отображена.
В этот момент я на лету создаю полную подсказку и заменяю содержимое контейнера, удаляя в процессе заполнитель текстового блока.