Не удалось преобразовать * в реализацию компонента с пользовательским компонентом CalloutButton

У меня есть собственный компонент CalloutButton в пакете с именем uiComponents. Этот пользовательский CallOutButton необходим, потому что мне нужны дополнительные свойства.

Эта CalloutButton добавляется в мой MXML, как обычно;

     <uiComponents:MyCustomCalloutButton someproperties here >

     </uiComponents:My...>

Теперь вложенный s:calloutContent получает ошибку компиляции, (почти стандартную) не удалось разрешить...

Естественно, пространство имен было импортировано

Что мне здесь не хватает? Это сводит меня с ума уже больше часа. Любая помощь будет принята с благодарностью!

Ваше здоровье!


person AlBirdie    schedule 24.01.2012    source источник
comment
В чем ошибка компиляции? Это просто вопрос того, что вы не импортировали пространство имен «uiComponents» в верхней части вашего файла MXML?   -  person JeffryHouser    schedule 24.01.2012
comment
uiComponents был импортирован (я уже пробовал разные пространства имен, имена классов и пакеты на случай, если есть внутренний flex-класс с похожим именем). Как ни странно, ошибка возникает не в строке MyCustomCallout, а во вложенном теге s:calloutContent. Вместо того, чтобы просто расширить класс CalloutButton, я уже скопировал все его содержимое в свой CustomCallout, поэтому я считаю, что есть проблема с инкапсулированными компонентами spark в компоненте с другим пространством имен (хотя это отлично работает для компонентов, отличных от Callout).   -  person AlBirdie    schedule 25.01.2012
comment
Покажите нам код, в котором вы вводите пространство имен uiComponents. Если ошибка возникает во вложенном теге выноски; почему ты не показал нам эту линию? Во многих случаях вложенные теги должны использовать то же пространство имен, что и их родительский элемент, поэтому замените его на uiComponents:calloutContent.   -  person JeffryHouser    schedule 25.01.2012
comment
Я не знал этого. Работал отлично. Большое тебе спасибо! Ценить это!   -  person AlBirdie    schedule 25.01.2012
comment
Я разместил это как официальный ответ для вас.   -  person JeffryHouser    schedule 25.01.2012


Ответы (1)


Поскольку ошибка возникла из-за тега s:calloutContent ; не тег uiComponents:MyCustomCallOutButton; решение заключалось в том, что во многих ситуациях вложенные теги должны использовать то же пространство имен, что и их родитель, поэтому замените его на uiComponents:calloutContent

Итак, вместо этого:

 <uiComponents:MyCustomCalloutButton someproperties here >
     <s:calloutContent />
 </uiComponents:My...>

Вам нужно будет сделать это:

 <uiComponents:MyCustomCalloutButton someproperties here >
     <uiComponents:calloutContent />
 </uiComponents:My...>
person JeffryHouser    schedule 25.01.2012