*Short version:*

I have a non-visual component that I'm trying to declare in a repeater, but
it seems that MXML doesn't allow this.  Is this true?  How do you get around
this, create a visual component to wrap the non-visual component?

*Long version:*

I have an ActionScript non-visual component whose declaration looks like
this:

public class DetailPopup extends EventDispatcher implements IMXMLObject

I've used this successfully inside an inline, MXML item renderer, like this:

  <mx:DataGridColumn>
    <mx:itemRenderer>
      <mx:Component>
        <mx:VBox>

          <!-- a bunch of other stuff, and then my: -->

          <my:DetailPopUp/>

        <mx:VBox>
      </mx:Component>
    </mx:itemRenderer>
  </mx:DataGridColumn>


Now that I'm switching from a DataGrid to a Grid, the code ought to look
like this:

  <mx:GridItem>
    <mx:VBox>

      <!-- a bunch of other stuff, and then my: -->

(X)   <my:DetailPopUp/>

    <mx:VBox>
  </mx:GridItem>

..except that I'm getting an error, "Component declarations are not allowed
here. (Note: visual children must implement IUIComponent.)"

After trying out a bunch of scenarios, it looks like non-visual components
can only be declared in the outermost scope of a component or application.
Is this true?  This is rather awkward, as I need a DetailPopUp for each
griditem.

Any tips would be very helpful!

Michael

Reply via email to