Проблема здесь в том, что ваш dragStartHandler имеет более высокий приоритет, чем внутренний DragStartHandler компонентов Списка - именно там начинается операция перетаскивания и создается свойство dragSource.
Предложение, добавьте вручную свой dragStartHandler с более низкимприоритет перед методом dragStartHandler компонентов List - при взгляде на код должно быть меньше -50.
MXML-код:
<s:List width="100%" height="100%"
id="productsListing"
dragEnabled="true"
dataProvider="{products}"
initialize="productsListing_initializeHandler(event)"
dragComplete="productsListing_dragCompleteHandler(event)"
itemRenderer="views.productListed"
/>
AS-код:
protected function productsListing_initializeHandler(event:FlexEvent):void
{
// Needs to be handled AFTER the List component has handled the event and attached the dragSource data, hence priority is -51
this.productsListing.addEventListener(DragEvent.DRAG_START, productsListing_dragStartHandler, false, -51, true);
}
protected function productsListing_dragStartHandler(event:DragEvent):void
{
// Your code here...
}
Надеюсь, вы найдете это полезным.