我已經創建了項目渲染器(IListItemRenderer)來自定義數據網格的顯示,並且我重寫了數據獲取器/設置器以傳入相關變量。到現在爲止還挺好。如何在Flex中將數據傳遞給ClassFactory生成的實例?
在項目渲染器中,我有一個按鈕,單擊它時應顯示填充了上述變量的各個字段的表單。要做到這一點,Button被覆蓋,以便它顯示它傳遞的任何IFactory實現。
private function instantiateDropdown():void
{
_dropdownFactory = new ClassFactory(MyPanel);
_dropdownFactory.properties = {boundData: _myVariable};
}
<buttons:PopUpButton id="editButton" dropdownFactory="{_dropdownFactory}" toolTip="Edit" source="{skins.ButtonImages.Edit}" click="edit_clickHandler(event)" />
我的IFactory實現是一個包含我的表單的面板,當按鈕被點擊時,它會根據需要顯示。但是,該變量未設置。似乎爲了在重寫按鈕需要訪問它之前實例化我的IFactory,我的新的ClassFactory()語句需要處於預初始化事件處理程序中,但此時尚未設置該變量。在創建IFactory實例後(例如,在單擊事件中)設置我的IFactory實例的屬性似乎不起作用。
我應該如何將我的變量傳遞給我的ClassFactory生成的實例,以便它正確地填充表單?