Personally, I wouldn't use a model to inject the data into your pop-up window. Unless you're sure you're only going to have one instance of your popup window at a time, I would create a custom component for your popup that has properties you can bind the data to.
Otherwise, just create the component like normal with its own presentation model and use the PopUpManager to pop up your component.
If you truly want to do that, just pop up your component like this:
private function PopUpMyWindow():void
{
popWindow = PopUpWindowCustomComponent(PopUpManager.createPopUp(Application.application as DisplayObject, PopUpWindowCustomComponent, true));
popWindow.addEventListener("mouseDownOutside", ClosePopupHandler);
}
private function ClosePopupHandler(event:FlexMouseEvent):void
{
PopUpManager.removePopUp(popWindow);
}
Of course, you would still have to dispatch and handle the appropriate events in your Main Map to send the data to the popup's model.
Here's a quick and dirty example for the model-less popup component:
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
showCloseButton="true"
title="MyPopup"
close="removeMe();">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
[Bindable]
public var message:String;
[Bindable]
public var myData:ArrayCollection;
private function removeMe():void
{
PopUpManager.removePopUp(this);
}
]]>
</mx:Script>
<mx:Canvas>
<mx:Label x="10" y="10" text="{ message }" fontWeight="bold"/>
<mx:DataGrid id="myDataGrid" x="10" y="61" width="400" height="255" dataProvider="{myData}"></mx:DataGrid>
</mx:Canvas>
</mx:TitleWindow>
Let me know if you have any questions! :)