У меня есть CustomDataGrid, который расширяется от DataGrid и CustomDataGridColumn, который расширяется от DataGridColumn.
CustomDataGridColumn имеет переменные-члены типа Function.
В моем представлении я ввожу презентационную модель, используя петрушку.
Код выглядит следующим образом:
<fx:Declarations>
<spicefactory:Configure/>
</fx:Declarations>
<fx:Script>
[Inject(id="associatedDocumentsPM")]
[Bindable]
public var model:AssociatedDocumentsPM;
</fx:Script>
<customDataGrid:CustomDataGrid id="AssocDocGrid"
width="100%" height="{(documentDataList.length+2)*20}"
doubleClickEnabled="true" enabled="{modeHandler.appEnable}"
dataP="{documentDataList}"
sortableColumns="false">
<customDataGrid:columnList>
<customDataGrid:CustomDataGridColumn
textAlign="left"
dataFieldIdentifier="documentName"
headerText="Document Type"
modifyLabelField="{model.modifyLabelField}"
dataField="documentName"
isNaNZero="true"
showDataTips="true"
editable="false"/>
...more columns here...
</customDataGrid:columnList>
</customDataGrid:CustomDataGrid>
AssociatedDocumentsPM имеет определенные функции, которые задаются в столбцах.
Один из примеров - атрибут modifyLabelField="{model.modifyLabelField}"
CustomDataGridColumn.myLabelField имеет тип Function. myLabelField внутри AssociatedDocumentsPM - это общедоступная функция.
Файл контекста петрушки находится в родительском элементе указанного выше файла и объявляет PM следующим образом:
AssocDocPMFactory - это класс с единственной функцией, украшенной [Factory].
Итак, проблема в следующем:
Когда я отлаживаю приложение и проверяю список столбцов DataGrid, переменная modifyLabelField имеет значение null.
Обращаются ли привязки к функциям иначе, чем к переменным? Я использую Flex 4.5.1 вместе с Parsley 2.4.1
Я понимаю, что инъекция может произойти после вызова creationComplete, но я думал, что привязка позаботится об этом.
У меня такое ощущение, что модель - PM - имеет нулевое значение намного позже, и привязка функции не запускается.
Я также пробовал использовать FastInject, но безуспешно.
Это проблема с указателями функций и привязкой Flex?